Сохранение значений checkbox

wia

Новичок
Добрый день!
Помогите, пожалуйста, решить проблему:

Есть форма, содержащая многоуровневое дерево с чекбоксами и кнопка submit, с помощью которой сохраняем отмеченные чекбоксы в БД, изначально очищая таблицу:

PHP:
if (isset($_POST['chb'])) {
        mysql_query("DELETE FROM `inf`");
        foreach($_POST['chb'] as $ar=>$value){
            mysql_query("INSERT INTO `inf` (`id`,`text`) VALUES (NULL,'".$value."')");
}
Затем, при следующем посещении страницы пользователю выводится дерево с отмеченными чекбоксами. И, казалось бы, все замечательно, но есть проблема: если не отметить ни один пункт (чекбокс) и "Сохранить", то информация в базе не обновляется, т.е. в базе все еще хранятся пункты, отмеченные ранее. На самом деле понятно, что нужно написать обработчик, что если не отмечено просто очистить таблицу, но не могу сообразить как это сделать. Подскажите, пожалуйста.
 

damner2

Новичок
Проверка, отправлена ли форма:
Код:
$_SERVER['REQUEST_METHOD'] === 'POST'
Проверка, отмечен ли хоть один чекбокс у тебя уже есть в приведённом тобой коде...
 

wia

Новичок
Хотя, есть пару вопросов.
Проверка, отправлена ли форма:
Код:
$_SERVER['REQUEST_METHOD'] === 'POST'
Проверка, отмечен ли хоть один чекбокс у тебя уже есть в приведённом тобой коде...
не совсем поняла как применить, куда вписать эту проверку?
Поменяй в своём коде первую и вторую строки местами.
если поменять местами 1ю и 2ю строку, то при каждом посещении страницы, все чекбоксы будут пустыми, т.к. есть проверка, при загрузке проверяется таблица `inf` и в зависимости от того, есть ли запись в таблице, выставляются значения чекбоксов. А так выходит, что при каждом обновлении таблица очищается.
Как быть?
 

riff

Новичок
PHP:
if ($_SERVER['REQUEST_METHOD'] === 'POST')  {
    mysql_query("DELETE FROM `inf`");
    if (isset($_POST['chb'])) {
        foreach...
    }
}
 
Сверху