2014-01-31 3 views
0

저는 현재 호텔에서 방을 예약 할 수있게 해주는 PHP 스크립트를 만들고 있습니다. 여러 종류의 방에 제한이 있지만 어떻게 PHP를 통해이를 시행 할 수 있습니까?
PHP는 활성 데이터베이스 항목을 제한합니다

현재 예약 가능한 금액의 한도가 있습니다.

2 명 별도의 침대 제한 : 11
2 인용 더블 침대 제한 : 11
스위트 제한 : 1
허니문 스위트 제한 : 1 mysql을 내

나는 관계 사이에 두 개의 테이블 설정을 가지고 그 :

예약
idbookings
FROM_DATE 01 23, 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_nights을 CUSTOMER_ID booking_id :

을 booking_id밤 _ 날짜
room_id

이제는 필요한 모든 것을 쿼리 할 수있는 관계입니다.밤의 수, 가격, 특정 밤에 몇 방 (어느 방)을 예약했는지 등. 또한 booking_nights 테이블에 3 열 기본 키를 설정하여 이중 예약을 방지 할 수 있습니다.

관련 문제