我目前正在制作一些PHP脚本,让客人预订酒店的房间,现在不同类型的房间有限制但我怎么能通过php强制执行呢?
我目前有这些房间是他们可以预订多少的限制。
2人分床限制:11
2人双人床限制:11人
套房限制:1
蜜月套房限额:1
预订
idbookings
FROM_DATE
至今
评论
间
2pseperatebed
2pdoublebed
套房
honeymoon_suite
bookings_idbookings(关系)
如何执行此限制但是让所有信息都保留在这些表中? 我想到了一个额外的列,检查预订是否有效。 或者如果有一个更简单的选项,如果要指出的话,将不胜感激。 并且有没有办法让T_date达到或超过时将房间设置为非活动状态?
答案 0 :(得分:0)
限制只是变量或常量。要在PHP中实现此功能,请声明global variable并将其值设置为限制
<?php
TWO_BED_LIMIT = 11
DOUBLE_BED_LIMIT = 11
…
?>
更好的方法是将这些值与房间类型一起存储在数据库中。然后,您可以读取这些值并将它们存储在变量中,然后再将该逻辑作为变量。
答案 1 :(得分:0)
在SQL中进行约束检查是不可能的,除非您将一个人留在酒店的所有夜晚存放在一张桌子中。
所以说:
间:
ROOM_ID
room_type
room_cost
预订:
booking_id
customer_id
booking_nights:
booking_id
night_date
room_id
现在,这是一个可以查询所需内容的关系。某个晚上预订的晚数,价格,房间数(以及哪些房间),等等。您可以通过在表booking_nights上设置三列主键来防止双重预订。