【问题标题】:Check time interval from database with PHP使用 PHP 从数据库检查时间间隔
【发布时间】:2013-11-16 13:21:06
【问题描述】:

我有一个名为 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 等于date('H:i:s') 如果它在 time_since & time_until 列的间隔之间。最后如果

mysql_num_rows == 0 

图像的src 属性应更改为绿色

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

表示房间可以预订,否则应该是红色的

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

我真的不知道如何正确编写被卡在此的sql查询:

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

另外,如果有其他首选方法可以实现我正在寻找的东西,请告诉我,我非常感谢我能得到的任何帮助,我希望我已经足够清楚了。

【问题讨论】:

    标签: php mysql sql database datetime


    【解决方案1】:

    value value 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";
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-12
      • 2012-06-09
      • 2021-03-02
      • 1970-01-01
      • 1970-01-01
      • 2014-08-21
      相关资源
      最近更新 更多