Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/69.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_Pdo - Fatal编程技术网

Php 将日期范围与多列一起使用

Php 将日期范围与多列一起使用,php,mysql,pdo,Php,Mysql,Pdo,我有一个mysql查询,准备按日期范围进行搜索: select * from active_listings where open_date >= '$start_date' AND open_date <='$end_date' 我没有结果 请有人指导我或告诉我如何使用日期范围的多列 谢谢 为避免歧义,必须按如下方式分离范围: select * from active_listings where (open_date >= '$start_date' AND

我有一个
mysql
查询,准备按日期范围进行搜索:

select * from active_listings 
where open_date >= '$start_date' 
  AND open_date <='$end_date'
我没有结果

请有人指导我或告诉我如何使用日期范围的多列


谢谢

为避免歧义,必须按如下方式分离范围:

select * 
from active_listings 
where (open_date >= '$start_date' AND open_date <='$end_date') 
  OR (next_open_date >= '$start_date' AND next_open_date <='$end_date');

不太确定你想要什么。。。你是在计算重叠周期还是什么

提示:可以使用BETWEEN子句替换“大于等于和小于等于”条件的组合

SELECT * 
FROM active_listings 
WHERE 
    open_date BETWEEN '$start_date' AND '$end_date' OR
    next_open_date BETWEEN '$start_date' AND '$end_date'

我如何确定一个范围以包括开放日和/或下一个开放日?因为我有一些行有打开日期,一些行有下一个打开日期。我想显示在“打开日期”和“下一个打开日期”中选择了日期范围的所有行。@Edward嗯,只需更改或更改即可?或者,您的意思是如果
下一个打开日期
可用,则应使用它,否则仅使用
打开日期
?也许你所追求的一个例子可能会有所帮助:)我成功了。那辆车成功了!谢谢你,杰克!问题是我在错误的部分使用了OR。
select * 
from active_listings 
WHERE open_date BETWEEN '$start_date' AND '$end_date'
  OR next_open_date BETWEEN '$start_date' AND '$end_date';
SELECT * 
FROM active_listings 
WHERE 
    open_date BETWEEN '$start_date' AND '$end_date' OR
    next_open_date BETWEEN '$start_date' AND '$end_date'