У меня есть таблица имен related_products,Удалить строку, когда флажок выбран ранее выключенной
Где products_id
является основным продуктом.
и related_products_ids
состоят из идентификаторов продуктов, относящихся к основному продукту.
--------------------------------------------
| products_id | related_products_ids |
| -----------------------------------------
| 1 | 2 |
| -----------------------------------------
| 1 | 4 |
| -----------------------------------------
| 1 | 3 |
-------------------------------------------
меня флажки
<input value="2" type="checkbox" name="rp_product[]" id="in-category2"> Microsoft IntelliMouse Pro 2
<input value="3" type="checkbox" name="rp_product[]" id="in-category3"> Microsoft IntelliMouse Pro 3
<input value="4" type="checkbox" name="rp_product[]" id="in-category3"> Microsoft IntelliMouse Pro 4
Флажки генерируется PHP,
<?php
echo '<ul id="categorychecklist" class="list:category categorychecklist form-no-clear">';
global $wpdb;
$sql = "SELECT related_products_ids FROM ".TABLE_RELATED_PRODUCTS." where products_id = '" . (int)$HTTP_GET_VARS['pID']."'";
$result = mysql_query($sql);
$rps = array();
while($row = mysql_fetch_assoc($result)) {
$rps[]=$row["related_products_ids"];
}
$rp_sql = "select products_id, products_name from ".TABLE_PRODUCTS_DESCRIPTION." where products_id !='" . (int)$HTTP_GET_VARS['pID']."' order by products_name";
$rp_1 = mysql_query($rp_sql);
while($rp_2 = mysql_fetch_array($rp_1)) {
$checked = '';
if (in_array($rp_2['products_id'], $rps)) $checked = " checked";
echo "<li id=\"category-".$rp_2['products_id']."\" class=\"popular-category\"><label class=\"selectit\"><input value=\"".$rp_2['products_id']."\" type=\"checkbox\" name=\"rp_product[]\" class=\"rp_item\"" . $checked . "> <span>".$rp_2['products_name']."</span></label></li>";
}
mysql_free_result($rp_1);
echo '</ul></div></div>';
?>
И я использую этот код, чтобы сохранить отмеченные флажки в related_products
таблицы,
for ($i=0; $i<count($_POST['rp_product']); $i++)
{
$check_val1 .= $_POST['rp_product'][$i] .","; //gather data
}
$check_val = trim($check_val1, ','); //clean last ,
unset($check_val1); //flush
$insert_rp_ids1 = explode(',', $check_val);
foreach($insert_rp_ids1 as $id){
$rps_each2 = array('products_id' => $products_id, 'related_products_ids' => $id);
$wpdb->insert(TABLE_RELATED_PRODUCTS, $rps_each2);
}
Что я хочу, чтобы удалить конкретный идентификатор под related_products_ids
колонком, когда флажок выбран ранее выключенный ..
Позволяет сказать им редактировать пост, где products_id является 1
и где related_products_ids
этого является 2, 3 and 4
.. Я отменил выбор checkbox, где значение 3
(которое находится на related_products_ids
), и после нажатия кнопки сохранения значение 3
на related_products_ids
будет удалено, так что текущие строки теперь равны 2 and 4
. Как это сделать? Я не могу думать и найти решение для этого.
Пожалуйста, помогите.
Я сделал это, но его тоже не работало .. – Ken
@Ken Можете ли вы подтвердить, что в настоящее время ваш скрипт способен _add_ добавлять новые записи в таблицу 'related_products_ids'? Вы _only_ хотите отменить выбранные записи или отредактировать записи, которые хотите использовать _add и remove_? – bostaf
Извините. я нашел проблему .. ее на моем sql delete заявление .. теперь он работает .. Спасибо. – Ken