目前我有两个表和以下sql语句,它们正确检索event_dates表中日期排序的事件表中的项目:
SELECT * FROM events, event_dates
WHERE events.id=event_dates.event_id
AND events.preview=0 AND event_dates.start_date>=now()
ORDER BY event_dates.start_date ASC,event_dates.start_time ASC LIMIT 3
现在我想添加一个额外的AND,以确保只设置下周末的事件。日期列采用标准的mysql日期格式(YYYY-MM-DD)。卡在这一点上。欢呼声。
答案 0 :(得分:4)
使用PHP strtotime()获取周末的开始和结束时间戳:
$we_start=strtotime('next saturday');
$we_end=strtotime('next monday')-1;
然后执行sql查询以搜索它们之间的时间戳。
select * from mytable where UNIX_TIMESTAMP(mydatefield) BETWEEN $we_start AND $we_end
希望有所帮助。