gpt4 book ai didi

php - mysql 检查房间可用性查询中的下一个和上一个可用时段

转载 作者:行者123 更新时间:2023-11-29 12:09:34 25 4
gpt4 key购买 nike

对于我的一个项目,我想添加一项功能,以在预订系统中显示上一个和下一个可用时段。

我有一个查询来检查房子是否可用:

SELECT id
FROM tbl_reservations
WHERE (
`status` LIKE 'confirmed' OR `status` LIKE 'total-payed'
) AND (
'2015-08-12' BETWEEN checkin AND checkout
OR checkout BETWEEN '2015-08-12' AND '2015-08-13'
OR '2015-08-12' BETWEEN checkin AND checkout
OR checkin BETWEEN '2015-08-12' AND '2015-08-13'
);

如果在该时间段内发现预订,PHP 脚本将返回 false,因此会显示类似

的消息

"Sorry, no availability in that selected period"

我还想展示类似的内容:

"The next available period for a stay of XX nights is: "

然后显示入住和退房日期。

上一时期也是如此。

我没有 100% 掌握 sql,所以我在这里寻求任何类型的建议来为我指明正确的方向。

最佳答案

这是两个解决方案。

获取预期住宿的下一个可用预订:

SELECT id
FROM tbl_reservations
WHERE (
`status` != 'confirmed' and `status` != 'total-payed'
)
and checkin = (select min(checkin) from tbl_reservations
where checkin > '2015-08-12'
and checkout - checkin >= '2015-08-12' - '2015-08-13');

获取预期住宿的先前预订。

SELECT id
FROM tbl_reservations
WHERE (
`status` != 'confirmed' and `status` != 'total-payed'
)
and checkin = (select max(checkin) from tbl_reservations
where checkin < '2015-08-12'
and checkout - checkin >= '2015-08-12' - '2015-08-13');

这些可以很容易地组合成一个查询,但从问题来看,您似乎想要两个单独的查询。这些已经过测试并准备就绪..

关于php - mysql 检查房间可用性查询中的下一个和上一个可用时段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30923388/

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