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