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我尽了很大的努力想得到预期的结果,但我没能得到确切的结果,这就是为什么我在这里问。