因此,我正在设计一个适用于酒店的 Web 应用程序,它最终应该成为通过一些额外代码为每个酒店网站安装的简单方法。该应用程序是使用 php 和 mysql。因此,正如您可能猜到的那样,我对数据库结构非常困惑。不过,我做了一些研究,我不仅仅是要求一个成熟的预订系统。
所以,酒店的老板必须拥有多种类型的房间。所以我想房间的桌子可能是“必须的”。开始了:
---------- Rooms Table (example)
ID NAME ADULTS ROOM_COUNT PRICE/NIGHT
1 DoubleRoom 2 5 45$
2 Family 3 2 75$
3 Single 1 3 35$
这非常简单。可以通过我的应用程序添加房间我还将附上每个房间的正确描述以及各种图像。但让我们回到正题。人们应该提前预订,以便...
---------- Bookings Table (example)
ID ROOM_ID BOOKING_USER CHECKIN (timestamp) CHECKOUT (timestamp)
1 2 A full name 208420842042 308230482042824
2 3 A full name 208423242525 529752972595272
...
所以,这是——希望- 数据库结构。现在我正在想一个办法检查可用性。我知道,这可能听起来很愚蠢,但我想不出一种聪明而简单的方法。在网站的形式中,应该有以下字段:check-in date
and check-out-date
然后将其转换为时间戳并且......这就是我卡住的时间!
当我只有上面的表格时,如何检查房间的可用性。有什么办法或者我需要改变我的数据库结构吗?即使我设法检查是否有空,房间总数是多少 (ROOM_COUNT
) in count?我的意思是,如何查看多种类型房间的空房情况?我想是这样的:
SELECT count(ROOM_ID) FROM bookings WHERE
bookings.checkin < DATE_GIVEN_AS_CHECKIN_INPUT and
bookings.checkout > DATE_GIVEN_AS_CHECKOUT_INPUT
然后根据这个查询的输出我会知道是否有可用的房间。但是房间数呢?还有更好的办法吗?
如果这里有人能告诉我这一点,我会非常高兴。预先致以最诚挚的问候和感谢,即使是阅读本文!
Blane
附:哦,这不是作业! :P 反正我也不去学校 :D