我正在一个新闻门户网站上,新闻(内容)将在特定时间后过期。问题是我必须同时只显示一条新闻,我不知道如何验证它并检查是否数据库中是否存在相同持续时间的新闻?
注意用户也可以添加未来(即将发布)的新闻。示例如下
$newsStartDate = '2017-10-10 14:52:10';
$newsEndDate = '2017-10-11 14:53:10';
我在数据库中有2个日期时间类型列(开始,到期)现在我已经知道在所选$newsStartDate
,$newsEndDate
的持续时间内是否存在任何新闻。
答案 0 :(得分:1)
最好在数据库中使用BETWEEN
在数据库中进行此比较。例如:
SELECT * FROM News WHERE datetime BETWEEN 2017-10-10 14:52:10 AND 2017-10-11 14:53:10;
或者在你的情况下:
SELECT * FROM News WHERE start < NOW() AND expire > NOW();
但是如果你想比较php中的日期,你可以使用比较运算符来处理日期:
if ($newsDate > $newsStartDate && $newsDate < $newsEndDate) { }
在此处查看更多信息: