避免PHP中的預訂重疊情況
P粉517090748
P粉517090748 2023-09-04 10:10:22
0
1
420
<p>我有一個允許用戶預訂娛樂設施的應用程式。使用者可以選擇開始日期 (05/05/2022) 和結束日期 (05/08/2022),然後透過資料庫傳送資料。 </p> <p><em>但是</em>,<strong>(問題)</strong>我有一位用戶想要預訂相同的設施。他們選擇開始日期 (05/03/2022) 和結束日期 (05/06/2022)。我的目標是防止用戶預訂結束日期介於現有預訂日期之間的設施。 </p> <p><strong>(已實現)</strong>如果開始日期和結束日期位於現有預訂日期之間,我可以透過停用所預訂的所需設施來實現這一目標。我已經完成了 SQL 查詢:</p> <pre class="brush:php;toolbar:false;">"SELECT * FROM reservations WHERE facility = :facility AND :begDate BETWEEN begDate AND endDate AND :endDate BETltEN begDate AND endate> <p>在處理查詢中的<strong>ISSUE</strong>和處理<strong>ACHIEVED</strong>的同時,有哪些建議? </p>
P粉517090748
P粉517090748

全部回覆(1)
P粉554842091

您可以使用以下邏輯檢查新預訂是否與現有預訂重疊:

SELECT * 
FROM reservations 
WHERE facility = :facility AND :begDate <= endDate AND :endDate >= begDate

給定設施和日期範圍,查詢將檢查是否已存在相同預訂且時間範圍重疊的預訂。它會傳回「有問題的」預留,或者如果不存在衝突則不傳回任何行。

熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!