我有以下代码,它工作正常:
$time = time();
$todayint=date("Y-m-d", strval($time));
$sql = "SELECT * FROM " . $DB->prefix('cal_event') . " WHERE DATE(FROM_UNIXTIME(event_start))='$todayint' OR DATE(FROM_UNIXTIME(event_end))='$todayint' ORDER BY event_organiser ASC";
如何更改代码以在日期范围之间选择数据?
event_start
并event_end
存储为 int。
我尝试使用 between 但我不确定在代码中的确切位置。
对于针对单个日期字段的查询,您可以使用BETWEEN
运算符:
$sql = "SELECT * FROM " . $DB->prefix('cal_event') . " WHERE
DATE(FROM_UNIXTIME(event_time)) BETWEEN '$date1' AND '$date2'
ORDER BY event_organiser ASC";
对于针对多个日期字段(例如开始时间和结束时间)的查询,您需要检查=>
和<=
:
$sql = "SELECT * FROM " . $DB->prefix('cal_event') . " WHERE
DATE(FROM_UNIXTIME(event_start)) >= '$todayint' AND
DATE(FROM_UNIXTIME(event_end)) <= '$todayint'
ORDER BY event_organiser ASC";
在这两种情况下,您都希望使用AND
而不是OR
.
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句