您如何在多家酒店,房型,限制日期和预订中找到可用性?需要使用MySQL(以及必要时使用PHP)的解决方案。
输入:#rooms必需,每个房间#people,入住日期,晚数。 例如:2个房间,每个房间3个人,2011年4月14日,3晚
输出:如果日期范围内有空房,将显示酒店和房间详细信息。
示例表:
Hotel_T
Hotel_ID
--------
Hotel_1
Room_Type_T
Room_Type | Hotel_ID | Capacity | Quantity
------------------------------------------
King | Hotel_1 | 4 | 2
Reservation_T
Room_Type | Hotel_ID | Room_Quantity | #People | Check-In | #Nights
--------------------------------------------------------------------
King | Hotel_1 | 1 | 1 | 4/12/2011 | 3
Blackout_T
Room_Type | Hotel_ID | Room_Quantity | Unavailability_Start_Date | #Nights
--------------------------------------------------------------------------
King | Hotel_1 | 1 | 4/16/2011 | 6
注意: “容量”是指可以容纳房间的人数。 Blackout_T是酒店和房型无法提供的房间的日期和数量。
因此,对于输入的第一个例子“2个房间,每个房间3个人,4/14 / 2011,3个晚上”没有产生结果,因为Reservation_T和Blackout_T在该日期范围内仅提供1个房间。但是,输入“1个房间,每个房间3个人,4/14 / 2011,3晚”将返回Hotel_1,King。
我想出了一个涉及多个查询的php循环的丑陋解决方案,但我猜测有一种更有效的方法。
提前感谢您的想法!