gpt4 book ai didi

php - PHP 中的 2 列 Mysql 日期范围搜索

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

MySQL 列 > sdate、edate(它的第 2 列)。

sdate 是项目开始的开始日期,edate 是项目结束的结束日期。

所以我需要在它们之间进行搜索..

<strong>Search</strong><br />
<form method="post" action="search.php">
Start Report Date : <input type="text" name="sdate" />
End Report Date : <input type="text" name="edate" />
<input type="submit" name="Submit" value="Search" />
</form>

This is example data in mysql
sdate Project Name edate
22 December 2008 project 1 23 December 2008
25 December 2008 project 2 26 December 2008
24 December 2008 project 3 27 December 2008
1 January 2008 project 4 20 January 2008
10 December 2008 project 5 12 December 2008

假设用户输入了 sdate(例如,2008 年 12 月 22 日)和 edate(例如,2008 年 12 月 30 日)。

它应该显示

22 December 2008  project 1         23 December 2008
25 December 2008 project 2 26 December 2008
24 December 2008 project 3 27 December 2008

所以我需要一个 php 代码 sql 查询,它应该显示位于这两个日期之间的条目..

请帮帮我..

非常感谢..

最佳答案

假设您的 sdateedate 是 MySQL 列类型 DATE 您可以执行以下操作:

SELECT  
Project_Name
, sdate
, edate
FROM your_table
WHERE
sdate <= '2008-12-26'
AND
edate >= '2008-12-26'

或者你可以使用 DATEDIFF

SELECT  
Project_Name
, sdate
, edate
FROM your_table
WHERE
DATEDIFF(sdate, '2008-12-26') <= 0
AND
DATEDIFF(edate, '2008-12-26') >= 0

第一个更有效,因为 MySQL 可以将表中的所有行与静态值进行比较。对于第二个解决方案,它需要计算表中每一行的差异。

如果您的 sdateedate 列不是 DATE 列,那么您就不走运了,需要先更改它们。

关于php - PHP 中的 2 列 Mysql 日期范围搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/393639/

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