首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使MySQL向后返回表

使MySQL向后返回表
EN

Stack Overflow用户
提问于 2009-05-13 18:36:16
回答 8查看 2.7K关注 0票数 0

我想用PHP和MySQL做一个简单的新闻系统,现在我得到了一个工作的帖子和阅读系统,但只有一个问题,我想它显示10个最新的新闻,但它却显示10个最老的新闻。

我的问题是:有没有办法让MySQL从表格的底部返回结果,或者我必须首先获得帖子的数量,然后将其限制在最后10个帖子?

这里是插入(标题和文本被转义,时间是time(),poster还没有完成):

代码语言:javascript
复制
mysql_query("INSERT INTO news (title, poster, text, time) VALUES ('$newstitle', '1', '$newstext', '$time')") or die(mysql_error());

并检索它(addnews回应它):

代码语言:javascript
复制
$myqr = mysql_query('SELECT * FROM news LIMIT 10') or die("Error running news query: ". mysql_error());
while($myres = mysql_fetch_array($myqr))
{
addnews($myres['id'], $myres['title'], "admin", date('l jS F Y - H:i:s', $myres['time']), $myres['text']);
}

所以,简而言之:我想向后读取数据库,这是可能的吗?

EN

回答 8

Stack Overflow用户

回答已采纳

发布于 2009-05-13 18:38:57

查看ORDER BY子句。它允许您按列的升序或降序对行进行排序。下面的查询将返回10个新闻条目,按时间降序排序。

代码语言:javascript
复制
SELECT * FROM news ORDER BY time DESC LIMIT 10
票数 11
EN

Stack Overflow用户

发布于 2009-05-13 18:38:44

很简单,只需在SQL中添加一个"ORDER BY“子句,例如

代码语言:javascript
复制
SELECT * FROM news ORDER BY time DESC LIMIT 10
票数 2
EN

Stack Overflow用户

发布于 2009-05-13 18:39:24

您需要修改查询以按其创建日期进行排序。就像这样

代码语言:javascript
复制
SELECT * FROM news  order by time DESC LIMIT 10

对你来说应该很管用。我认为值得注意的是,如果您不指定Order by子句,则不能保证返回结果的顺序。现在,您碰巧在插入时按升序对它们进行了排序,但是您不能放心地假设这种情况永远都会发生。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/859642

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档