[英]MySQL query the events for a calendar
我正在使用MySQL和PHP構建SaaS日歷。
前端javascript日歷庫為fullcalendar(每月視圖) http://fullcalendar.io/
我有一個名為events
的mysql數據表,如下所示:
BODY_START
和BODY_END
使用的是unix_timestamp。
然后,在我的PHP代碼中,我構建了一個查詢助手,該助手生成一個SQL,例如:
"SELECT * FROM `" . $this->_tableName . "` WHERE `ID_ACCOUNT` = '$_id_account' AND (( `BODY_START` >= 1424649600 AND `BODY_START` <= 1428278400 ) OR (`BODY_END` >= 1424649600 AND `BODY_END` <= 1428278400))";
fullcalendar提供的開始和結束時間戳參數。
有一個問題:
如果事件跨越當前月份,則不會顯示。
例:
f8a58d0c8280db2340863a1ac7aa60b0
e576c22ce89f38ee422ec818807b99b8
test_event
1422720000
1428422400
0
1422845255
0
0
如果執行查詢,則不會顯示此事件。
我怎樣才能解決這個問題? 謝謝。
如果我對您的理解正確,請將查詢簡化為(使用偽代碼):
BODY_START <= month_end and BODY_END >= month_start
您上面的原始查詢查詢要求事件必須在一個月內開始或結束,但這實際上並不是您想要的-您希望該月任何部分都存在任何事件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.