Php 如何在选定的日期范围内选择正在运行的事件?
我有活动表。我想获取在搜索日期之间运行的所有事件记录Php 如何在选定的日期范围内选择正在运行的事件?,php,mysql,Php,Mysql,我有活动表。我想获取在搜索日期之间运行的所有事件记录 Event Table id title start_date_time end_date_time ----------------------------------------------------------------- 1 xyz 2014-08-12 11:40:00 2014-08-23 10:30:00 2 pqr 2014-09-0
Event Table
id title start_date_time end_date_time
-----------------------------------------------------------------
1 xyz 2014-08-12 11:40:00 2014-08-23 10:30:00
2 pqr 2014-09-05 11:40:00 2014-09-25 09:20:00
3 abc 2014-10-10 11:40:00 2014-10-25 10:00:00
例如,我搜索了在2014-08-15和2014-09-10之间运行的事件
预期结果将是:
id title start_date_time end_date_time
-----------------------------------------------------------------
1 xyz 2014-08-12 11:40:00 2014-08-23 10:30:00
2 pqr 2014-09-05 11:40:00 2014-09-25 09:20:00
那么,要得到预期的结果,查询将是什么?假设您有
$startdate
和$enddate
,那么您需要这个where
子句来表示重叠:
select e.*
from events e
where $startdate <= e.end_date_time and
$enddate >= e.start_date_time;
选择e*
从事件e
其中$startdate=e.开始日期时间;
继续选择
。试试看。这个问题缺乏任何证据effort@Strawberry我尽了很大的努力想得到预期的结果,但我没能得到确切的结果,这就是为什么我在这里问。