簡體   English   中英

在 PHP MsSQL 中檢查空房和房間預訂

[英]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.

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