Ну, приведенные выше примеры работают только тогда, когда вы хотите ВСТАВИТЬ значение, бесполезно для ОБНОВЛЕНИЯ различных значений в разные столбцы, поэтому вот мой маленький трюк для обновления:
//EMPTY ALL VALUES TO 0
$queryMU ='UPDATE '.$db->dbprefix().'settings SET menu_news = 0, menu_gallery = 0, menu_events = 0, menu_contact = 0';
$stmtMU = $db->prepare($queryMU);
$stmtMU->execute();
if(!empty($_POST['check_menus'])) {
foreach($_POST['check_menus'] as $checkU) {
try {
//UPDATE only the values checked
$queryMU ='UPDATE '.$db->dbprefix().'settings SET '.$checkU.'= 1';
$stmtMU = $db->prepare($queryMU);
$stmtMU->execute();
} catch(PDOException $e) {
$msg = 'Error: ' . $e->getMessage();}
}
}
<input type="checkbox" value="menu_news" name="check_menus[]" />
<input type="checkbox" value="menu_gallery" name="check_menus[]" />
....
Секрет заключается в том, чтобы сначала обновить все ЗНАЧЕНИЯ (в данном случае 0), и, поскольку он будет отправлять только проверенные значения, это означает, что все, что вы получаете, должно быть установлено в 1, поэтому все, что вы получаетеустановите его на 1.
Примером является PHP, но он применим ко всему.
Веселитесь:)