我已经获得了下面列出的代码。出于某种原因,它只列出了2016年的活动。当我在2017年结束的活动中,它没有显示它。
知道为什么吗?
$currentdate = date('m-d-Y');
$events_call = $eventsdb->query("
SELECT * FROM events WHERE start <= '". $currentdate ."'
AND (end >= '". $currentdate ."' OR end = 0) ORDER BY end ASC");
我用mm-dd-yyyy格式格式化日期。例如:2016年11月18日
答案 0 :(得分:1)
我用mm-dd-yyyy格式格式化日期。例如:2016年11月18日
PHP或MySQL就此而言,并不自动知道这些是日期,它只是将它们解释为数字字符串。所以11-17-2016大于01-01-2017(11,172,016 vs 01,012,017)...你可以在进行比较之前将格式更改为YYYY-MM-DD以解决问题,或者将日期转换为时间戳等...
答案 1 :(得分:1)
你到底想要什么?你想要结果BETWEEN 2个日期吗?如果是这样,请查看BETWEEN sql命令,如:
How do I query between two dates using MySQL?
但我不认为你可以用mm-dd-yyyy
格式在mysql中存储日期信息。 Mysql接受yyyy-mm-dd
格式。检查你的表结构,请使用日期格式吗?