Я использую приведенный ниже скрипт для хранения значений для динамически созданных форм в базе данных MySQL.Пользователи могут вернуться к форме после ее сохранения для обновления информации.
Приложение использует элементы формы переключателей, которые отправляются только через POST, если на них дан ответ.Значением по умолчанию в базе данных MySQL является NULL.Поэтому, если на вопрос не дан ответ, он остается NULL, и это здорово.
Однако я также использую jQuery, чтобы разрешить сброс некоторых элементов формы (т. Е. Переключатели можно очистить).
Если пользователь отвечает на вопрос о переключателе, сохраняет форму, возвращает ее позже и очищает вопрос о переключателе, значение в моей базе данных никогда не возвращается в значение NULL.Любые идеи о том, как я могу это сделать?
<?php
require_once('../../includes/connect.php');
$org_id = $_SESSION['ORG_ID'];
$user_id = $_SESSION['USER_ID'];
$dbh = get_org_dbh($org_id);
$sql = "UPDATE health_forms SET ";
$values = array();
foreach ($_POST as $field => $value){
$sql .= "$field=?, ";
array_push($values, $value);
}
$sql = rtrim($sql,", ");
$sql .= " WHERE id=?;\n";
array_push($values, $user_id);
try {
$sth = $dbh->prepare($sql);
$sth->execute($values);
}
header("location: ../index.php?i=completed");
?>