我正在做这个在线预订项目,我在这部分有库存。这是场景。数据库结构:
tbl_guestinfo
guest_id
name
checkin
checkout
numAdults
numChild
tbl_rooms
room_id
room_name
guest_id
type_id
tbl_roomtype
type_id
room_rate
room_type
noOf_Rooms
我已经可以从我的查询中得到一个很好的结果,我可以扫描所有可用的房间并显示我想要的所有信息。
SELECT *
FROM tbl_rooms, tbl_roomtype
WHERE guest_id NOT IN
(
SELECT `guest_id` from tbl_guestinfo where
(`checkin` < ' $varCheckOut' and `checkout`>= '$varCheckOut' )
OR (`checkin`<= '$varCheckIn' and `checkout`> '$varCheckIn' )
OR (`checkin`>= '$varCheckIn' and `checkout`<='$varCheckOut')
)
我需要的是显示所有剩余的 room_type 可用。因此,例如,如果有 5 间标准间和 5 间豪华间,并且在 2012 年 10 月 1 日至 2012 年 10 月 5 日期间,客人 1 占用了 1 间标准间,并且客人 2 在同一日期占用了 1 间豪华房,则该网站将仍然显示标准房和豪华房,因为每个 room_type 还剩 4 间。
请注意,我会将 room_type 放在一个 html 表中,并将 noOf_Rooms 放在一个组合框中。
请帮助研究和阅读很多,但仍然无法弄清楚。预先感谢您的所有帮助。
干杯