Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 选择日期范围内的活动项目_Php_Mysql - Fatal编程技术网

Php 选择日期范围内的活动项目

Php 选择日期范围内的活动项目,php,mysql,Php,Mysql,我正在构建一个PHP项目工具,并试图解决如何在特定日期范围内选择(或排除)项目。每个项目在mysql表中都有一个“开始日期”和“结束日期”,但中间日期似乎只查看值本身,而不是我写的值之间的日期 例如,如果我试图选择在7月16日至7月20日期间处于活动状态的项目,如何确保返回表中开始和结束日期为7月1日至7月20日的行 下面是一个不起作用的代码示例: $sql = "SELECT * FROM projects WHERE proj_start_date BETWEEN '201

我正在构建一个PHP项目工具,并试图解决如何在特定日期范围内选择(或排除)项目。每个项目在mysql表中都有一个“开始日期”和“结束日期”,但中间日期似乎只查看值本身,而不是我写的值之间的日期

例如,如果我试图选择在7月16日至7月20日期间处于活动状态的项目,如何确保返回表中开始和结束日期为7月1日至7月20日的行

下面是一个不起作用的代码示例:

$sql = "SELECT *
FROM 
    projects
WHERE
    proj_start_date BETWEEN '2018-07-16' AND '2018-07-20'
AND
    proj_end_date BETWEEN '2018-07-16' AND '2018-07-20'
GROUP BY
    proj_start_date";
able的问题在于它无法捕获在范围之前开始和之后结束的内容

明白了!下面的正确答案使我走上了正确的轨道。下面是实现此技巧的代码:

$sql = "
SELECT *
FROM 
    projects
WHERE
    proj_start_date <= '2018-07-20'
AND
    proj_end_date >= '2018-07-16'
GROUP BY
    proj_start_date";
$sql=”
挑选*
从…起
项目
哪里
项目开始日期='2018-07-16'
分组
项目开始日期”;

如果列类型为
datetime
date
。 您的查询应该是:

SELECT * FROM `tablename` WHERE start_date >= '2018-07-01' AND end_date <= '2018-07-20' 

如果列类型为
datetime
date
。 您的查询应该是:

SELECT * FROM `tablename` WHERE start_date >= '2018-07-01' AND end_date <= '2018-07-20' 

你需要添加更多的细节。
开始日期
结束日期
的列类型是什么?您尝试过的查询是什么?另外,请向我们显示您尝试过但不起作用的查询。问题可能是用于比较日期的格式,请添加更多详细信息请添加您当前情况的更多详细信息可能重复您需要添加更多详细信息。
开始日期
结束日期
的列类型是什么?您尝试过的查询是什么?另外,请向我们展示您尝试过但不起作用的内容。问题可能是用于比较日期的格式,请添加更多详细信息以及您当前情况的更多详细信息可能重复谢谢!这让我走上了正确的道路。我将在上面添加我的最终工作代码。谢谢!这让我走上了正确的道路。我将在上面添加我的最终工作代码。