Php 如何通过选择开始日期和结束日期之间的任何日期来显示开始日期和结束日期之间的事件

Php 如何通过选择开始日期和结束日期之间的任何日期来显示开始日期和结束日期之间的事件,php,mysql,date,Php,Mysql,Date,事件A发生在一个月的24日至29日之间。如果用户选择24之后和29之前的任何日期。有没有办法展示一个活动 如果用户选择25号和27号,我将使用此查询 Select * from Events where DateFrom >= '25-01-2019' and DateTo <= '27-01-2019' 如果用户选择日期从'2019-01-26'到'2019-01-27',我想显示id=1的事件,因为26和27位于24到29之间。如果您想选择所选日期范围内“发生”或“部分发生

事件A发生在一个月的24日至29日之间。如果用户选择24之后和29之前的任何日期。有没有办法展示一个活动

如果用户选择25号和27号,我将使用此查询

Select * 
from Events 
where DateFrom >= '25-01-2019' and DateTo <= '27-01-2019'

如果用户选择日期从'2019-01-26'到'2019-01-27',我想显示id=1的事件,因为26和27位于24到29之间。

如果您想选择所选日期范围内“发生”或“部分发生”的所有事件,您可以这样做

Select * from Events 
where DateFrom <= '2019-01-27' and DateTo  >= '2019-01-25'
从事件中选择*
其中DateFrom='2019-01-25'
如果您只希望在指定日期的整个期间内发生这些事件,您需要执行这些操作

Select * from Events 
where DateFrom <= '2019-01-25' and DateTo  >= '2019-01-27'
从事件中选择*
其中DateFrom='2019-01-27'

您也可以使用数字日期格式
20190125
,而不是使用字符串格式
'2019-01-25'
。这两种形式应该同样有效

请更新您的查询,如下所示。查询中未正确传递日期

Select * 
from Events 
where ( DateFrom >= '25-01-2019' and DateFrom <= '27-01-2019') and 
      ( DateTo >= '25-01-2019' and DateTo <= '27-01-2019' ).
选择*
从事件中

其中(DateFrom>='25-01-2019'和DateFrom='25-01-2019'和DateTo所选开始日期(
2019-01-26
)应与数据的
DateFrom
进行比较,而所选结束日期(
2019-01-27
)应与
DateTo
进行比较,如本查询中所述

SELECT * 
FROM Events 
WHERE DateFrom <= '2019-01-26' 
AND DateTo >= '2019-01-27';
上面的查询返回

id  name            DateFrom    DateTo
2   Music Event A   2019-01-24  2019-01-29
3   Music eventB    2019-01-25  2019-01-30

希望它能回答您的问题!

您使用过mysql中的date()吗?我正在使用的查询在问题中。我没有使用date函数。请尝试从日期(DateFrom)>='25-01-2019'和日期(DateTo)的事件中选择此*在MySQL中使用日期时,始终使用MySQL日期格式
,其中DateFrom>='2019-01-25'和DateTo eventB也位于24到29之间,而DateFrom>='25-01-2019'和DateFrom的想法是选择24到29之间的事件,因为选择了第25和第27个。如果我们使用此查询DateFrom='2019-01-27',因为第一个条件,它将是lso仅当结束日期符合第二个条件时才选择23,22,21。
='2019-01-27'
。如果选择25和27,是否可以仅显示24到29之间发生的事件
id  name                DateFrom    DateTo
1   Some other event    2018-12-12  2018-12-31
2   Music Event A       2019-01-24  2019-01-29
3   Music eventB        2019-01-25  2019-01-30
4   Event C             2019-02-01  2019-02-09
id  name            DateFrom    DateTo
2   Music Event A   2019-01-24  2019-01-29
3   Music eventB    2019-01-25  2019-01-30