[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Удаления всех не отмеченных checkbox (Cheched)
OleKh
Подскажите пожалуйста, есть ли возможность реализовать удаление всех не выбранных chechbox. Например, у меня есть список моделей товаров с чекбоксами. Выбранные модели по чекбоксам добавляются в базу и остаются отмеченными. Когда снимаются чекбоксы, модели из базы не удаляются. Я где-то читал, что такие динамичные формы реализовывают на JavaScript и Ajax, а на php нахожу только или удаление или добавление, но не одновременное удаление неотмеченных и добавление отмеченных чекбоксов. Вот так у меня реализована функция добавления моделей.

<input type="checkbox" name="mod['.$v2['id'].']" '.(in_array($v2['id'], $mlist) ? ' CHECKED': '' ).' value="'.$v2['name'].'">'.$v2['name'].'



if (is_array($_POST['mod']))

foreach ($_POST['mod'] as $k=>$v) {

os_db_query('INSERT INTO '.TABLE_MODELS_LIST.' (mod_id, mod_name) values ("'.$k.'", "'.$_REQUEST['pID'].'" )');
os_db_query ('REPLACE INTO '.TABLE_MODELS_LIST_COPY.' (id, mod_id, mod_name) SELECT id, mod_id, mod_name FROM '.TABLE_MODELS_LIST.' ');

}





Спустя 4 часа, 51 минута, 39 секунд (25.04.2012 - 17:31) vagrand написал(а):
Сделай еще одно hidden поле куда записывай те же ID а потом после сабмита смотри для каких ID не установлены чекбоксы и удаляй их.

Спустя 1 день, 16 часов, 55 минут, 36 секунд (27.04.2012 - 10:26) OleKh написал(а):
Спасибо. Сделал hidden поле и сначала DELETE всех отмеченных, затем INSERT отмеченных по полю checkbox. Заодно решилась проблема с дублями.

<input type="checkbox"
name="mod['.$v2['id'].']" '.(in_array($v2['id'], $mlist) ? ' CHECKED': ' ' ).'
value="'.$v2['name'].'"> '.$v2['name'].'

<input type="hidden"
name="mod1['.$v2['id'].']" checked="checked"
value="'.$v2['name'].'">



 if (is_array($_POST['mod1']))

foreach ($_POST['mod1'] as $k3=>$v3) {

os_db_query('DELETE FROM '.TABLE_MODELS_LIST.' WHERE mod_id = '.$k3.' AND mod_name = '.$_REQUEST['pID'].' ');

}

if (is_array($_POST['mod']))
foreach ($_POST['mod'] as $k=>$v) {

os_db_query('INSERT INTO '.TABLE_MODELS_LIST.' (mod_id, mod_name) values ("'.$k.'", "'.$_REQUEST['pID'].'" )');

}


Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.