<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'].'" )');
}