多个酒店,房间类型,限制日期和SQL中的预订的可用性

时间:2011-04-14 16:51:25

标签: php mysql sql

您如何在多家酒店,房型,限制日期和预订中找到可用性?需要使用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循环的丑陋解决方案,但我猜测有一种更有效的方法。

提前感谢您的想法!

0 个答案:

没有答案