簡體   English   中英

酒店客房預訂/預訂

[英]Hotel room booking/reservation

我正在為一家小旅館預訂/預訂系統。 我對PHP相當滿意,但對SQL卻不太滿意...我做了一個表格,您可以在其中輸入您的信息,房間數量,並使用日歷選擇到達日期和退房日期。

現在一切都進行得很好,直到我到達必須檢查哪些房間可用的地步,這讓我頭疼。 您可以預訂10間客房。

我目前在MySQL中有一張表,用於存儲信息,日期,預訂ID和房間ID /編號。

您將如何使用SQL來檢查哪些房間可用和不可用?

它看起來像什么

"SELECT * FROM bookings WHERE checkinDate >= '$formCheckin' 
 AND checkoutDate <= '$formCheckout' " 

然后獲取roomID並進行計數?

任何幫助都非常感謝!

如果您想知道一段時間內是否有空房間,則邏輯如下:

SELECT r.*
FROM rooms r 
WHERE NOT EXISTS (SELECT 1
                  FROM bookings b
                  WHERE b.roomid = r.roomid AND
                        b.checkinDate <= $formCheckOut AND
                        b.checkoutDate >= '$formCheckIn
                 );

我不確定這兩個是否都需要相等比較。 邏輯是,如果沒有預訂在結帳日期之前開始且在結帳日期之后結束的預訂,則該房間可用。

但是,對於十個房間,我建議您每天僅保留每個房間的一張桌子,比如說未來十年(每年再增加一次)。 這樣的表不是很大,可能更容易理解如何使用它。 另外,您可以處理一些事情,例如一對夫婦預訂房間一周,但前三天只有一個人在房間里。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM