gpt4 book ai didi

用于预订的 MySQL 查询。如何允许在同一日期进行两次预订(入住/退房)

转载 作者:行者123 更新时间:2023-11-29 05:22:36 24 4
gpt4 key购买 nike

我正在尝试在两个日期之间预订所有房间。
我现在正在使用此查询,但遇到了问题。我尝试了很多东西,做了很多搜索,但几个小时后我决定尝试在这里寻求帮助。

SELECT 1 FROM reservations WHERE
checkin <= '$check_out' AND checkout >= '$check_in'

假设有人在 21 日到 22 日预订。
他于 21 日下午 4:00 入住,22 日中午 12:00 退房
21日下午4:00前房间仍有空位
22日中午12:00后房间仍有空

使用此查询,我无法预订 20 日至 21 日
20 日下午 4:00 入住,21 日中午 12:00 退房

我也不能预订 22 日到 23 日。

知道如何调整查询以反射(reflect)现实吗?

还有那个查询:

(checkin <= '$check_in' AND checkout >= '$check_in') OR
(checkin <= '$check_out' AND checkout >= '$check_out') OR
(checkin >= '$check_in' AND checkout <= '$check_out')

你可以引用这个问题,这是我提出问题的地方: Checking for date range conflicts in MySQL

非常感谢!

最佳答案

@georstef 向我发布了此链接,以查看它是否对我的问题下方的评论有帮助:Using MySQL query in selecting room availability

它做到了!

现在正确的 WHERE 子句如下:

(checkin <= '$check_in' AND checkout >= '$check_in') OR
(checkin < '$check_out' AND checkout >= '$check_out') OR
(checkin >= '$check_in' AND checkout < '$check_out')

谢谢!

关于用于预订的 MySQL 查询。如何允许在同一日期进行两次预订(入住/退房),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23955445/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com