繁体   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