2015-06-23 250 views
0

例如,我有這個範圍:2015-06-012015-06-03檢查一個日期範圍是否在另一個範圍內

現在我要在我的表單中編輯這個日期。然而,表格檢查範圍是否與另一個範圍重疊(不能在同一天輸入兩個葉子)。

現在,我用它來驗證它不與其他假期重疊:

if($startdate !== $start_db && $enddate !== $end_db){ 
    if($startdate <= $end_db && $enddate >= $start_db){ 
     $error[] = 'Leave Overlaps with another leave.'; 
    } 
} 

當我想的範圍內改變從2015-06-012015-06-02,然後它說,出現此問題是重疊的,因爲它不知道它同樣的假期。

如何檢查新範圍是否在DB中保存的範圍內?

回答

0

您必須檢查每個開始日期和結束日期是否在其他開始日期和結束日期之間。所以總共進行了四次比較。

if(
    // Start date is in first date range 
    ($startdate >= $start_db && $startdate <= $end_db) 
    || 
    // end date is in first date range 
    ($enddate >= $start_db && $enddate <= $end_db) 
){ 
    $error[] = 'Leave Overlaps with another leave.'; 
} 
+0

但我仍然需要代碼我發佈的權利? – Gintoki

相關問題