php - 最佳实践按发布日期排序帖子

标签 php mysql

我到处搜索,但找不到满足我问题的答案。 我想按发布日期对 MySQL 结果进行排序。

我会准确解释我想做什么。

所有帖子都保存到数据库中,包含以下字段

Post_id = auto increment 
post_title = varchar
posted_date = datetime (gmdate('Y-m-d H:i:s') )
post_status = int
post_published_date = datetime (gmdate('Y-m-d H:i:s') )

保存帖子后,我希望按 post_published 日期显示帖子顺序。当插入帖子时,post_published_date 将为 NULL,当将 post_status 更改为 1 时,将添加 post_published_date 日期。

所以我按如下顺序排列帖子

SELECT * FROM posts WHERE post_status = 1 ORDER BY post_published_date DESC, Post_id DESC

下面也试过了

SELECT * FROM posts WHERE post_status = 1 ORDER BY STR_TO_DATE(post_published_date, '%Y-%m-%d %H:%i:%s')
 DESC, Post_id DESC

以上都很好用。我的问题是哪种方法是上面最好的方法,或者是否有更好的方法来做到这一点(性能方面)。 感谢您的宝贵时间。

编辑: 另外我想知道我是否需要对 MySQL 日期时间列使用 STR_TO_DATE

最佳答案

最好只有您可以使用以下查询:

SELECT * FROM posts WHERE post_status = 1 ORDER BY post_published_date DESC

关于php - 最佳实践按发布日期排序帖子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41256379/

相关文章:

php - Symfony 断言日期时间 JMSSerializer

php - 用于 Web 开发的 Sprite 表

php - mysql 查找数字的第n位

mysql - sql 查询包含或喜欢单个单词的职位和用户个人资料技能

php - 如何使用已弃用的 mysql_* 函数成功重写旧的 mysql-php 代码?第二部分

php - 将 javascript 时间戳发送到 php 函数进行计算

javascript - 我的ajax调用不起作用?

php - 如何从php中的文本文件中删除第一行

php - 如何在正则表达式后面实现可变宽度查找来获取项目列表?

php - (新手)无法使用 laravel 框架在站点上运行 PHP