Php / mysql检查预订房间的数量

时间:2014-07-22 13:12:17

标签: php mysql

关于如何检查房间是否被预订,我有一个小问题。

所以基本上我有一个如下所示的表

Accomm

  1. accomm_id
  2. 签入 [存储为时间戳]
  3. 结帐 [存储为时间戳]
  4. 到目前为止,我所知道的是,如果用户输入的签入和签出日期都转换为时间戳。那部分已经完成。

    所以我没想到的是以下内容:

    • accomm表中搜索用户输入的签入和结帐参数。
    • 然后返回预订的房间数。

    请协助或指导我这个。感谢。

    $booked_rooms = 0;
    while($accommodation_package = mysql_fetch_array($query)) {
    
        // $this->checkin, $this->checkout are values fed by the user
        // $accommodation_package['checkin/out'] are the values in the database
        if($this->checkin >= $accommodation_package['checkin'] && $this->checkout <= $accommodation_package['checkout']) {
            $booked_rooms +=1;
        }
    }
    echo $booked_rooms;
    

    嗯,我认为上述情况会有效,但是当客户的登记和结账日期在不同月份时,它不起作用。

2 个答案:

答案 0 :(得分:0)

试试这个:

<?php
$currentTime = date('Y-m-d H:i:s');

$sql = "SELECT COUNT(accomm_id)
        FROM accom
        WHERE checkin <= $currentTime
        AND checkout >= $currentTime";
$query = mysqli_query($sql);
// code to get the details.

答案 1 :(得分:0)

假设您已以“d-m-Y”格式存储我们的登记入住和退房日期&gt;您可以执行以下SQL语句:

SELECT COUNT(acomm_id) FROM Accomm WHERE checkin <= yourDateString AND checkout => yourDateString

希望这会有所帮助。