Я хочу проверить конфликт даты и времени с помощью mysql и php.Проверьте наличие конфликта времени в mysql с помощью php
Моя временная метка отформатированный с помощью PHP кода, такие как:
$timestamp_start = date("Y-m-d H:i:s", mktime(date("H", strtotime($start_time)), date("i", strtotime($start_time)), 0, $date[0], $date[1], $date[2]));
$timestamp_end = date("Y-m-d H:i:s", mktime(date("H", strtotime($end_time)), date("i", strtotime($end_time)), 0, $date[0], $date[1], $date[2]));
И я MySQL проверить, как это показано ниже:
$sql = "SELECT * FROM `$info[table]` WHERE ((`timestamp_start` BETWEEN '$timestamp_start' AND '$timestamp_end') OR (`timestamp_end` BETWEEN '$timestamp_start' AND '$timestamp_end'))";
Какой код я здесь! ха-ха.
Теперь проблема заключается в том, что если номер запланирован на 10/31/2013 с 08:00 до 17:00, а кто-то другой планирует запланировать его за 10/31/2013 с 17:00 до 09 : 00 PM они получают сообщение о том, что комната уже используется. Теперь я не возражал против этого сначала, потому что он заставил комнату иметь по крайней мере 30-минутный промежуток между событиями, но мои боссы сказали, что комната должна быть спланирована спиной к спине.
Как я могу изменить свою инструкцию sql, чтобы позволить кому-либо запросить комнату в 17:00, если она забронирована до 17:00?
Это похоже на работу
$sql = "SELECT * FROM `$info[table]` WHERE `approved`='true' AND (`timestamp_start` < '$timestamp_end' AND `timestamp_end` > '$timestamp_start')";
вместо того, чтобы использовать между ними, вы можете использовать < and > – Sebas
Почему вы не просто форматируете дату в запросе? – Kermit
У меня нет ответа для этого ... Я просто сделал это на PHP. –