关于如何检查房间是否被预订,我有一个小问题。
所以基本上我有一个如下所示的表
Accomm
到目前为止,我所知道的是,如果用户输入的签入和签出日期都转换为时间戳。那部分已经完成。
所以我没想到的是以下内容:
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;
嗯,我认为上述情况会有效,但是当客户的登记和结账日期在不同月份时,它不起作用。
答案 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
希望这会有所帮助。