2012-04-30 70 views
0

我已經創建了一個完美的日曆,但是我需要能夠插入運行多天的事件。日曆會顯示單日AM和PM的事件,但在多天內輸入事件時,事件將顯示事件開始和結束日期之間的日期。我在開始和結束時間使用時間戳。這是我當前的SQL:PHP日曆多天活動

$day_start = mktime(0, 0, 0, $cMonth, ($i - $startday + 1), $cYear); 
$day_morning_end = mktime(11, 59, 59, $cMonth, ($i - $startday + 1), $cYear); 
$day_afternoon_start = mktime(12, 0, 0, $cMonth, ($i - $startday + 1), $cYear); 
$day_end = mktime(23, 59, 59, $cMonth, ($i - $startday + 1), $cYear); 

$morn_sql = "SELECT * FROM tbl_events WHERE (start_stamp>='$day_start' AND end_stamp<='$day_morning_end') OR (start_stamp<'$day_start' AND end_stamp>'$day_end')"; 

下午還有另一個查詢。正如我所說,除了在他們開始和結束的那一天顯示事件之外,它可以正常工作,但它會在兩天之間顯示。

謝謝

回答

0

這沒有測試因爲我沒有表/數據,但我希望這會有所幫助。 :)

$day_sql = "SELECT * FROM tbl_events 
     WHERE start_stamp BETWEEN '$day_start' AND '$day_end' 
      AND end_stamp BETWEEN '$day_start' AND '$day_morning_end' 
       OR end_stamp BETWEEN '$day_afternoon_start' AND '$day_end'";