PHP에서 예약 중복 상황 방지
P粉517090748
2023-09-04 10:10:22
<p>사용자가 엔터테인먼트 시설을 예약할 수 있는 애플리케이션이 있습니다. 사용자는 시작 날짜(2022년 5월 5일)와 종료 날짜(2022년 5월 8일)를 선택한 다음 데이터베이스를 통해 데이터를 보낼 수 있습니다. </p>
<p><em>하지만</em>, <strong>(질문)</strong>같은 시설을 예약하려는 사용자가 있습니다. 시작 날짜(2022년 5월 3일)와 종료 날짜(2022년 5월 6일)를 선택합니다. 내 목표는 사용자가 기존 예약 날짜 사이에 종료 날짜가 있는 시설을 예약하지 못하도록 하는 것입니다. </p>
<p><strong>(구현됨)</strong>시작 날짜와 종료 날짜가 기존 예약 날짜 사이에 해당하는 경우 예약에 필요한 편의 시설을 비활성화하여 이를 달성할 수 있습니다. SQL 쿼리를 완료했습니다: </p>
<pre class="brush:php;toolbar:false;">"SELECT * FROM 예약 WHERE FACILITY = :facility AND :begDate BETWEEN begDate AND endDate AND :endDate BETWEEN begDate AND endDate"</pre>
<p><strong>ACHIEVED</strong>를 처리하는 동안 쿼리의 <strong>문제</strong>를 처리하기 위한 몇 가지 제안 사항은 무엇입니까? </p>
다음 로직을 사용하여 새 예약이 기존 예약과 중복되는지 확인할 수 있습니다.
으아악시설과 날짜 범위가 주어지면 쿼리는 시간 범위가 겹치는 동일한 예약이 이미 존재하는지 확인합니다. "문제가 있는" 예약을 반환하거나, 충돌이 없으면 행을 반환하지 않습니다.