2014-01-31 75 views
0

我目前正在做一些PHP腳本,讓客人預訂酒店的房間現在有不同種類的房間的限制,但我怎麼能通過PHP強制執行此?
php限制活動數據庫條目

我目前有這些房間的限制,他們可以預訂多少。

2人單獨的牀極限:11
2人雙人牀極限:11
套件限制:1
蜜月套房限制:1

MySQL的I內有兩個表的設置與之間的關係那些:

預訂
idbookings
FROM_DATE
條 TO_DATE 評論

客房
2pseperatebed
2pdoublebed
套房
honeymoon_suite
bookings_idbookings(的關係)

我怎麼能強制執行此限制,但也會讓所有的信息留在這些表中? 我想過一個額外的列,檢查預訂是否激活。 或者如果有一個更簡單的選項,它將不勝感激,如果這是要指出。 ,並會有一種方式,以便當T_date已達到或過期時,房間將被設置爲無效?

+0

在預訂tbl添加字段爲「noOfbookedRooms」 – user1844933

回答

0

限制只是變量或常量。在PHP中實現這一點,聲明global variable,並將其值設置爲限制

<?php 

TWO_BED_LIMIT = 11 
DOUBLE_BED_LIMIT = 11 
… 

?> 

一個更好的方式是在數據庫本身的這些值存儲與房型一起。然後您可以讀取這些值並將它們存儲在一個變量中,然後重新執行該變量。

0

除非您存儲人員在表格中留在酒店中的所有夜晚,否則不可能在SQL中執行約束檢查。

這麼說:

房間:
ROOM_ID
room_type
room_cost

預訂:
booking_id
CUSTOMER_ID

booking_nights:
booking_id
night_date
room_id

現在,這是一種關係,您可以查詢您需要的一切。晚上的數量,價格,某個晚上預訂了多少房間(以及哪些房間),等等。您可以通過在booking_nights表上設置三列主鍵來防止重複預訂。