通过检查是否已预定活动时间来防止重复预订

时间:2019-05-26 04:28:57

标签: php mysql

我正在尝试检查是否有可用的时间范围或无法预定。下面的代码显示了检查日期的时间范围的示例。

SELECT IT.id as it_id
     , IT.name
     , ITM.id
     , ITM.start_datetime as start
     , ITM.end_datetime as end 
  from i_times as it
  JOIN i_times_meta as ITM 
    ON IT.id = ITM.ice_time_id 
 WHERE IT.rink_id = '.$id.' 
   and ITM.start_datetime < '2019-05-26 15:00:00' 
   and end_datetime > '2019-05-26 14:00:00'

但是,例如当重复发生事件时,就会出现问题。所以,可以说我有一个日期数组,可以说:

Array
(
    [0] => Array
        (
            [start_datetime] => 2019-05-26 13:00:00
            [end_datetime] => 2019-05-26 14:00:00
        )
   [1] => Array
        (
            [start_datetime] => 2019-05-27 13:00:00
            [end_datetime] => 2019-05-27 14:00:00
        )
   [2] => Array
        (
            [start_datetime] => 2019-05-28 13:00:00
            [end_datetime] => 2019-05-28 14:00:00
        )
   [3] => Array
        (
            [start_datetime] => 2019-05-29 13:00:00
            [end_datetime] => 2019-05-29 14:00:00
        )
....
....
....


)

现在,如何检查这些插槽中的任何一个是否已保留。我想用单个查询或类似的其他方法来制作它,这样就不会花费很多时间来获取数据。

0 个答案:

没有答案