在PHP MsSQL中检查可用性和房间预订
下面是我的SQL代码在PHP MsSQL中检查可用性和房间预订,php,mysql,Php,Mysql,下面是我的SQL代码 $find=mysqli_query($dbconn," SELECT * FROM room WHERE room_no NOT IN (SELECT room_no FROM reservation WHERE check_in<='$check_out' AND check_out>='$check_in'); 我也尝试过这个sql代码。但同样的结果 $find=mysqli_query($dbc
$find=mysqli_query($dbconn,"
SELECT *
FROM room
WHERE room_no NOT IN
(SELECT room_no
FROM reservation
WHERE check_in<='$check_out'
AND check_out>='$check_in');
我也尝试过这个sql代码。但同样的结果
$find=mysqli_query($dbconn,"SELECT * FROM room WHERE room_no NOT IN (SELECT room_no FROM reservation WHERE(check_out>='$check_in' AND check_in<='$check_out')OR(check_out<='$check_in' AND check_in>='$check_out'))");
如果您想允许在同一天签出和签入,您只需允许范围满足;更改。您能否提供您的房间和预订表的示例数据,以及$check\u out和$check\u in的值?您好。谢谢你的回答。我已经编辑了这个问题。所以你没有考虑预订表中的时间?我认为您的签入和签出字段类型为DATEYes。是约会。如何添加签入时间和签出时间并进行检查?将您的签入和签出字段类型设置为datetime或timestamp,以便您可以将时间与日期一起存储。所以首先要这样做
$find=mysqli_query($dbconn,"SELECT * FROM room WHERE room_no NOT IN (SELECT room_no FROM reservation WHERE(check_out>='$check_in' AND check_in<='$check_out')OR(check_out<='$check_in' AND check_in>='$check_out'))");