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
标签:php,mysql,date,getdate 来源: https://codeday.me/bug/20190827/1736249.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。