gpt4 book ai didi

php - 如何检查两个日期之间是否存在条目

转载 作者:行者123 更新时间:2023-12-01 08:35:09 27 4
gpt4 key购买 nike

我有一个 SQL 表“航类”,其中包含所有航类的所有详细信息:飞机注册、抵达日期、出发日期等等...现在,当我想创建新航类时,我想检查两个给定日期之间是否已存在具有相同注册的航类。EG:有一个名为 IFLY 的航类于 2019 年 7 月 22 日抵达并于 2019 年 7 月 25 日出发,现在如果我尝试创建另一个具有相同注册但于 2019 年 7 月 23 日抵达并于 2019 年 7 月 24 日出发的航类,我会希望在数据库中检查在这些日期期间数据库中是否已存在具有相同注册的另一个航类并提醒用户。

我尝试过这样的事情:通过 jquery/ajax 调用 DB 上的请求的 html 表单

$regist = $_POST['regCreate'];
$arrivalDate = $_POST['adof'];
$departureDate =$_POST['ddof'];

$sql = "SELECT reg FROM flights WHERE reg = '$regist' AND (adof or ddof)
>= '$arrivalDate' AND (adof or ddof) <= '$departureDate' ";//
$data = mysqli_query($conn, $sql);

if (mysqli_num_rows($data) > 0) {
echo 'exists';
}

此代码不起作用,因为如果我创建一个位于已创建的两个日期之间的新航类,则不会给出异常结果。

最佳答案

如果两个时间段都在另一个时间段结束之前开始,则两个时间段重叠。

您可以将其表述为:

SELECT f.reg
FROM flights f
WHERE f.reg = ? and
f.departureDate < ? and -- the input arrival date
f.arrivalDate > ? -- the input departure date

请注意,我更改了语法以使用参数。这是在 PHP 或任何其他应用程序层中设计查询时的最佳实践。

关于php - 如何检查两个日期之间是否存在条目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57137796/

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