检查mysql中两个字段之间是否有特定的日期时间

Tho*_*asK 2 php mysql sql datetime

我正在制作日历来预约约会.
我在表格单元格中渲染了一个日历,如下所示:

在此输入图像描述

每个单元格都有一个时间戳,对于每个单元格,我正在尝试运行查询以检查我的预留表中是否存在该特定时间戳:

在此输入图像描述

startstop设置为datetime.

可能会迟到,但我得出结论,这是相反的

SELECT * 
FROM reservations 
WHERE (date_field BETWEEN '2015-08-05 10:00:00' AND '2015-08-05 10:45:00')
Run Code Online (Sandbox Code Playgroud)

...因为在我的情况下,我只有一个特定的时间来检查是否在同一记录中的两个不同字段之间.

我尝试WHERE start >= ? AND stop <= ?了相同的日期,但当然这不起作用,因为停止日期永远不会与开始日期相同...

您在上图中看到的结果是我有一个如下所示的表:

在此输入图像描述

对于每个单元格,我运行此查询:SELECT * FROM reservations WHERE day_time = ?其中?是该特定单元格中的时间戳.

它确实有效,但它似乎是一种完成我所拥有的可怕方式.
此外,时间间隔不会总是15分钟.它可能是5,10,30或1小时.因此,为了覆盖这一变化,我必须每隔5分钟创建一个约会的记录.

这样做有什么好办法?

我已经研究了不同的脚本(Easy!Appointments,Booked),但它们似乎对我需要的东西有点过分.

Dan*_*cuk 6

改变这个:

WHERE start >= ? AND stop <= ?
Run Code Online (Sandbox Code Playgroud)

对此:

WHERE start <= ? AND stop >= ?
Run Code Online (Sandbox Code Playgroud)