使用PHP检查数据库的时间间隔

时间:2013-11-16 13:21:07

标签: php mysql sql database datetime

我有一个名为booking_system的数据库,它有一个名为bookings的表,其结构如下:

+--+--------+----+----------+----------+----------+
|id|username|room|book_date |time_since|time_until|
+--+--------+----+----------+----------+----------+
|1 |mari80u6|3   |2013-11-17|09:00:00  |11:00:00  |
+--+--------+----+----------+----------+----------+

使用PHP将数据插入数据库(没有问题)。问题是,现在,根据数据库中的book_date,time_since和time_until信息,我需要检查 $current_date等于date('Y-m-d', strtotime('now')) 首先从数据库中反对book_date列。其次,我想查看等于$current_hour的{​​{1}} 如果它在time_since和&的间隔之间time_until列。最后,如果

date('H:i:s')

图片的mysql_num_rows == 0 属性应更改为绿色

src

意味着房间可以预订,否则它应该看起来是红色的

<img id="room3" src="css/images/3Green.png"> 

我真的不知道如何正确编写sql查询被困在这个:

<img id="room3" src="css/images/3Red.png">

此外,如果有其他优先方法可以实现我想要的,请告诉我,我真的很感激我能得到的任何帮助,我希望我能够让自己清楚。

1 个答案:

答案 0 :(得分:1)

value&lt; value&lt; value不是有效的语法。您需要使用AND进行多次比较:

SELECT id 
FROM bookings 
WHERE room='3' 
AND time_since < '$current_hour' 
AND '$current_hour' < time_until";

或使用BETWEEN

SELECT id 
FROM bookings 
WHERE room='3' 
AND '$current_hour' BETWEEN time_since AND time_until";