我目前正在制作几个php脚本,允许客人在酒店预订房间,现在对不同类型的房间有限制,但我如何通过php强制执行呢?
我现在有这些房间,有多少可以预订。
2人分开床位限制: 11人
2人双人床限制: 11人
套房限制:1
蜜月套房限制:1
在mysql中,我设置了两个表,它们之间有一个关系:
预订
空位预订
from_date
to_date评论
机房
2页床
2双人床
套间
honeymoon_suite
bookings_idbookings (关系)
如何在允许所有信息留在这些表中的情况下强制执行此限制?我想到了一个额外的列,检查预订是否有效。或者,如果有更简单的选择,如果能指出这一点,我们将不胜感激。会不会有一种方法,使当T_date已经达到或超过,房间将被设置为非活动?
发布于 2014-01-31 12:25:26
极限只是可变的或恒定的。要在PHP中实现这一点,请声明一个全局变量并将其值设置为极限
<?php
TWO_BED_LIMIT = 11
DOUBLE_BED_LIMIT = 11
…
?>一个更好的方法是将这些值与房间类型一起存储在数据库本身中。然后,您可以读取这些值并将它们存储在变量中,然后对该变量执行逻辑操作。
发布于 2014-01-31 12:26:31
在SQL中签入约束是不可能的,除非您将一个人住在酒店的整个晚上都存储在桌子上。
所以说:
客房:
room_id
room_type
room_cost
预订:
booking_id
customer_id
booking_nights:
booking_id
night_date
room_id
这是一种关系,您可以在这里查询所需的一切。晚上的数目,价格,有多少房间(和哪些房间)预定了某个晚上,等等。还可以通过在表booking_nights上设置三列主键来防止双重预订。
https://stackoverflow.com/questions/21478045
复制相似问题