[英]Get date closest to today in PHP from database
UPDATE
我正在建立一个网站的后端。 该网站的意思是向访客提供我们正在组织的活动的时间和活动。
所以我在数据库中填写了各种活动。 每个活动都有日期,名称和其他一些信息。
很明显,过去展示活动并没有帮助访客,因此我只希望他们展示即将开展的活动。 为了节省自己的大量工作,做PHP / MySQL的所有工作并向访问者展示下一个下一个事件会很不错。
你能告诉我MySQL的功能吗?
提前致谢,
只是一些建议:
选择当前时刻前最近的2个事件和当前时刻后最接近的2个事件。
(SELECT *
FROM ...
WHERE `time` < NOW()
ORDER BY `time` DESC
LIMIT 2)
UNION
(SELECT *
FROM ...
WHERE `time` > NOW()
ORDER BY `time` ASC
LIMIT 2)
此时,您将在PHP中拥有最多4个事件。 但是你只需要2.最接近2.要找出哪个是最接近你使用strtotime
并检查事件的时间戳和你可以通过调用time()
获得的当前时间戳之间的差异。 之后,您只保留最近的2个事件。
请注意,这可以直接从MySQL实现,但这样更难。
@最近更新。 如果您不想了解更多内容,只需阅读此内容即可。
只需使用此查询:
SELECT *
FROM ...
WHERE `time` > NOW()
ORDER BY `time` ASC
LIMIT 2
$query = 'SELECT .... FROM ... WHERE `date` > '.$today.' ORDER BY `date` DESC LIMIT 2';
$today
取决于您的date
列类型。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.