Страницы

Поиск по вопросам

среда, 12 июня 2019 г.

Добавление посещения учеников в одном запросе

Задача: Одним нажатием занести в БД посещения учеников за текущий день. Вывожу всех учеников, которые должны прийти сегодня. Создаю checkbox со значением "1" при посещении и "0" при пропуске урока. Не знаю, как сделать так, чтобы при нажатии на кнопку "добавить", все эти значения добавились в отдельные поля в БД, одним запросом. Вот так:


Ответ

Сам запрос может выглядеть приблизительно так:
UPDATE YOUR_TABLE SET visited = 1 WHERE id IN (1, 2, 3, 4, 5 ...);
Если использовать PDO можно сделать так.
Допустим у Вас есть массив айдишников;
$ids = array(1, 2, 3, 4);
создаём сроку из количества вопросов (?)
$place_holders = implode(',', array_fill(0, count($ids), '?'));
Создаём стороку запроса
$sql = "UPDATE YOUR_TABLE SET visited = 1 WHERE id IN ($place_holders)";
Выполняем запрос
$sth = $dbh->prepare($sql)->execute($ids);

Комментариев нет:

Отправить комментарий