Php MYSQL按发布日期和时间戳排序
我试图使用php和mysql根据新闻文章的发布日期和时间戳列出新闻。我需要列出所有文章的最新出版日期和最近的时间戳。当我试图完成这项工作时,列表中出现了一些异常情况 需要注意的是,一些新闻文章的时间戳可能是今天,但发布日期可能是从现在开始的10天Php MYSQL按发布日期和时间戳排序,php,mysql,date,timestamp,Php,Mysql,Date,Timestamp,我试图使用php和mysql根据新闻文章的发布日期和时间戳列出新闻。我需要列出所有文章的最新出版日期和最近的时间戳。当我试图完成这项工作时,列表中出现了一些异常情况 需要注意的是,一些新闻文章的时间戳可能是今天,但发布日期可能是从现在开始的10天 SELECT * FROM table_news WHERE pubdate <= ".time()." ORDER BY pubdate,date DESC SELECT * FROM table_news WHERE pubdate <
SELECT * FROM table_news WHERE pubdate <= ".time()." ORDER BY pubdate,date DESC
SELECT * FROM table_news WHERE pubdate <= ".time()." ORDER BY date,pubdate DESC
SELECT * FROM table_news WHERE pubdate <= ".time()." ORDER BY pubdate,date ASC
SELECT * FROM table_news WHERE pubdate <= ".time()." ORDER BY date,pubdate ASC
SELECT*FROM table_news WHERE pubdateSELECT*FROM table_news WHERE pubdateSELECT*FROM table_news WHERE pubdate您的pubdate
字段是unix时间映射(例如整数字段)还是实际的mysql日期/时间字段time()
返回unix时间戳,而不是日期/时间字符串。改用这个:
SELECT *
FROM table_news
WHERE pubdate <= now()
ORDER BY pubdate DESC, date DESC
选择*
来自table_新闻
其中pubdate您的pubdate
字段是unix时间映射(例如整数字段)还是实际的mysql日期/时间字段time()
返回unix时间戳,而不是日期/时间字符串。改用这个:
SELECT *
FROM table_news
WHERE pubdate <= now()
ORDER BY pubdate DESC, date DESC
选择*
来自table_新闻
其中pubdate您需要在查询字符串中使用MySQL格式的日期。试一试
SELECT NOW();
查看MySQL格式的日期是什么样子。您可能希望在查询中直接使用NOW()函数,而不是使用PHP time()函数
SELECT * FROM table_news WHERE pubdate <= NOW() ORDER BY ...
SELECT*FROM table_news,其中pubdate需要在查询字符串中使用MySQL格式的日期。试一试
SELECT NOW();
查看MySQL格式的日期是什么样子。您可能希望在查询中直接使用NOW()函数,而不是使用PHP time()函数
SELECT * FROM table_news WHERE pubdate <= NOW() ORDER BY ...
SELECT*FROM table_news WHERE pubdate我在这里猜测,但我想我知道您希望按顺序执行的操作
当按两列排序时,不会得到最新和最新的条目,而是会得到按该ORDER by子句中第一列排序的所有条目,并且只有当两行的值相同时,这两行才会按第二列排序
如果这能按预期工作,您可以尝试:
选择*
来自table_新闻
我猜这里是pubdate的位置,但我想我知道您期望的是什么
当按两列排序时,不会得到最新和最新的条目,而是会得到按该ORDER by子句中第一列排序的所有条目,并且只有当两行的值相同时,这两行才会按第二列排序
如果这能按预期工作,您可以尝试:
选择*
来自table_新闻
其中pubdate是的,它是一个unix时间戳。我不知道我可以选择分开订购。现在试试这个!是的,这是一个unix时间戳。我不知道我可以选择分开订购。现在试试这个!