2016-05-28 2 views
0

В настоящее время я бронирования и номер таблица: таблицаSQL/PHP Как проверить, существует ли дата между диапазоном дат?

бронирований bookings table

номер таблица

rooms table2

Я пытаюсь сделать SQL запрос поиск номера, который учитывает текущую регистрацию и дату отъезда в номер. Я не знаю, как реализовать условие WHERE для проверки номеров как с записью, так и без нее. и если существует запись о бронировании, как я могу проверить вход пользователя и проверить даты, чтобы запрос не выводил номера с заказами, которые сталкиваются с диапазоном дат ввода пользователей

Это мой sql до сих пор:

$sql = "SELECT rooms.rid, beds, orientation, price FROM rooms JOIN bookings ON rooms.rid = bookings.rid 
WHERE (beds = $nOfBeds) 
AND ($cInDate < checkin AND $cOutDate <= checkin) 
OR ($cInDate > checkout AND $cOutDate >= checkout)"; 
if ($rOrientation != "") { 
$sql .= " AND orientation = '$rOrientation'"; 
} 

сейчас он только выводит номера, которые имеют существующий номер и не выводя другие номера, которые встречают число параметров кровати, но без существующих заказов.

+0

событие В можно сказать, чтобы перекрывать событие А, если событие В завершается после того, как начинается событие А и начинается до окончания события A. – Strawberry

ответ