php - 检查两个日期不在两个另一个日期之间 + MYSQl

标签 php mysql

我正在查询酒店预订和预订系统,但遇到选择两个日期之间未预订的房间的问题。 我的查询与此类似,但它不起作用,并且查询返回注意到,但实际上我有 3 个房间,房间类型为 1 。 SQL fiddle :http://sqlfiddle.com/#!2/b97419

SELECT tbl_room.room_no, tbl_room.type_id, tbl_Reservation.room_id
FROM tbl_room
LEFT JOIN tbl_Reservation ON tbl_room.id = tbl_Reservation.room_id
WHERE (
(
tbl_Reservation.checkin_data < '" . $checkin . "'
AND tbl_Reservation.checkout_data < '" . $checkin . "'
)
OR (
tbl_Reservation.checkin_data > '" . $checkout . "'
AND tbl_Reservation.checkout_data > '" . $checkout . "'
)
)
AND tbl_room.type_id =1

感谢您的帮助,并对我的英语不好表示歉意。

最佳答案

尝试这样的事情

SELECT 
    tbl_room.room_no, 
    tbl_room.type_id, 
    tbl_room.id,

    tr.id as reserv_status

FROM tbl_room

 LEFT JOIN tbl_Reservation tr ON tbl_room.id = tr.room_id AND 
           (
             (tr.checkin_data <= "'$checkin'" AND tr.checkout_data >= "'$checkin'")
             OR
             (tr.checkin_data <= "'$checkout'" AND tr.checkout_data >= "'$checkout'")
           )

 WHERE 

 tbl_room.type_id =1  AND tr.id IS NULL

关于php - 检查两个日期不在两个另一个日期之间 + MYSQl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26865807/

相关文章:

PHP/mySQL INSERT NULL 如果变量为空

php - 在 Linux 上为 PHP5 配置 xDebug

mysql - 错误代码 1242 : Subquery retuens more than 1 row

php - 需要有关我的项目的建议!

php - 在php中访问数组中的数据

php - 如何通过新的 PHP pecl/mongodb 驱动程序 (1.1.2) 和库使用 MongoDB 组功能

php - 使用 PDO 实例执行查询时出现段错误

php - 使用 php 获取最后一次提交的 zip

php - mysql 连接相同的表和列名

mysql - 删除的数据库重新填充到 MySql 中