Забронировать номер на почасовой основе - PullRequest
1 голос
/ 20 июня 2019

Я создал систему бронирования отелей, где клиент может бронировать отель на почасовой основе. Проблема в том, что при поиске я создал 2 таблицы

1 Hotel_rooms 2 Room_bookings

Теперь для создания поискового запроса я сделал следующее

SELECT * 
FROM   `room_bookings` 
WHERE  room_id = 103 
       AND check_in_date = '20-6-2018' 
       AND check_in_time != '2:15' 
       AND check_out_time < '2:15' 

Теперь это очень неправильный сценарий, согласно которому запрос не работает должным образом. Допустим, пользователь выбирает время регистрации 16 15 для номера 103, это должно показать мне результат, так как эта комната недоступна для бронирования. в это время комната 103 уже занята с 3:15 до 5:15, поэтому она должна показывать, что комната будет доступна после 5:15, или она должна показывать другие свободные комнаты в то же время. Я считаю, что это можно сделать, сделав простой запрос? или я иду по неправильному пути Кто-нибудь может мне помочь, пожалуйста

1 Ответ

1 голос
/ 20 июня 2019

Предположим, что ваш клиент зарегистрировался с 14:00 до 15:00 на 1 час, поэтому это должен быть ваш запрос, чтобы проверить, свободна ли комната в это время или нет.

Таблица будет выглядеть как

id  room check_in_Time  check_out_Time   check_in_date
1   102   14:00             15:00          20-6-2018

, поэтому ваш запрос будет

SELECT * FROM `room_bookings` 
 WHERE room_id = 103 
       AND check_in_date = '20-6-2018' 
       AND check_in_time <= '15:00' 
       AND check_out_time >= '14:00'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...