[英]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.