私はこのオンライン予約プロジェクトに取り組んでおり、この部分に在庫があります。これがシナリオです。データベース構造:
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 つのデラックス ルームがあり、1 つのスタンダード ルームが 2012 年 10 月 1 日から 2012 年 10 月 5 日まで guest1 によって占有され、1 つのデラックス ルームが同じ日に guest2 によって占有されている場合、サイトはそのままになります。 room_type ごとに 4 つの部屋が残っているため、スタンダード ルームとデラックス ルームを表示します。
room_type を html テーブルに配置し、noOf_Rooms をコンボ ボックスに残します。
たくさん調べて読んでいるのに、まだ理解できないのを助けてください。よろしくお願いいたします。
乾杯