Мой код большой, и я не могу просто вытащить несколько строк, чтобы показать мою проблему, поэтому я собираюсь объяснить это с помощью воображаемого кода, чтобы упростить его.
Допустим, у меня есть список дел в виде таблицы, и я определил активность и время. Я не хочу иметь повторяющиеся строки, поэтому я создал функцию, чтобы предотвратить это.
function check_date($day, $time) {
include 'db_connect.php';
$sql = "SELECT day, dan FROM todo ";
$sql .= "WHERE day = $day AND time = '{$time}'";
$result = mysqli_query($conn, $sql) or trigger_error(mysqli_error());
if(mysqli_num_rows($result) >= 1) {
$row = mysqli_fetch_assoc($result);
return 1;
} else {
return 0;
}
}
Вызов функции в основном файле:
if(check_termin_sala($day, $time)) {
$errors['busy'] = "You are busy.";
}
И запрос:
if(empty($errors) {
$query = "INSERT INTO todo (";
$query .= "day, time, activity";
$query .= ") VALUES (";
$query .= "'{$day}', '{$time}', '{$activity}')";
$result = mysqli_query($conn, $query);
if(!$result) {
die("Failed." . mysqli_error($conn));
}
}
Теперь я хочу обновить мою строку, изменив только поле активности, но поля день и время не меняются, поэтому при отправке обновления я получаю сообщение об ошибке, поскольку точные день и время уже вставлены. Что я должен сделать, чтобы исключить эту функцию проверки, влияющую на текущую дату и время строки?
Надеюсь, вы меня поймете. :)