[英]Check availability and room booking in PHP MsSQL
下面是我的 SQL 代碼。
$find=mysqli_query($dbconn,"
SELECT *
FROM room
WHERE room_no NOT IN
(SELECT room_no
FROM reservation
WHERE check_in<='$check_out'
AND check_out>='$check_in');
假設有人在 12.07 到 12.10 預訂了 100 號房間。 另一個搜索 12.10 到 12.12 的同一個房間? 然后它顯示沒有可用的房間。 我的房間入住時間是下午 2 點。 退房時間是上午 10 點。 那么我該如何解決這個問題。
(例如,有人預訂了 12.07 到 12.10 的 100 號房間。他的退房時間是 12.10 上午 10.00。那么另一個人可以預訂 12.10 到 12.12 的 100 號房間。因為他的入住時間是 12.10 的下午 2 點。)
我想我已經解釋過了。
等待您的幫助。
謝謝你。
PS。
Room Table
----------
id room_no status
1 100 1
2 101 1
Reservation Table
-------------------
id room_no check_in check_out
1 100 2020.12.07 2020.12.10
我也試過這個 sql 代碼。 但同樣的結果。
$find=mysqli_query($dbconn,"SELECT * FROM room WHERE room_no NOT IN (SELECT room_no FROM reservation WHERE(check_out>='$check_in' AND check_in<='$check_out')OR(check_out<='$check_in' AND check_in>='$check_out'))");
如果您想允許在同一天退房和入住,您只需要允許范圍相遇即可; 將<=
更改為<
並將>=
更改為>
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.