我有一个允许用户预订娱乐设施的应用程序。用户可以选择开始日期 (05/05/2022) 和结束日期 (05/08/2022),然后通过数据库发送数据。
但是,(问题)我有一位用户想要预订相同的设施。他们选择开始日期 (05/03/2022) 和结束日期 (05/06/2022)。我的目标是防止用户预订结束日期介于现有预订日期之间的设施。
(已实现)如果开始日期和结束日期位于现有预订日期之间,我可以通过禁用所预订的所需设施来实现这一目标。我已经完成了 SQL 查询:
"SELECT * FROM reservations WHERE facility = :facility AND :begDate BETWEEN begDate AND endDate AND :endDate BETWEEN begDate AND endDate";
在处理查询中的ISSUE和处理ACHIEVED的同时,有哪些建议?
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
您可以使用以下逻辑检查新预订是否与现有预订重叠:
给定设施和日期范围,查询将检查是否已存在相同预订且时间范围重叠的预订。它返回“有问题的”预留,或者如果不存在冲突则不返回任何行。