我只需要在酒店预订系统中选择可用的房间
这是我的查询
echo $str = $_POST['start'];
echo $en = $_POST['end'];
$sql = "SELECT *
FROM chambre
WHERE id NOT IN (SELECT id_chambre
FROM reservation_client
where start < $en
or end >=$str)";
但是查询给了我不在表
reservation_client
中的房间,而不是在$str
和$en
日期之间可用的房间 最佳答案
您可以改用LEFT JOIN
,然后查看保留在哪里NULL
(这意味着没有左联接)。
SELECT c.*
FROM chambre AS c
LEFT JOIN reservation_client AS rc
ON c.id = rc.id_chambre AND rc.start < '$en' AND rc.end >= '$str'
WHERE rc.id_chambre IS NULL
尽管您应该使用准备好的语句,而是通过占位符绑定值。
关于php - 查询两个日期之间的酒店预订中的可用房间,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/57158907/