PHP和MySQL:按最近日期排序并限制10

Jam*_*mes 12 php mysql querying sql-order-by limit

我正在我的网站上构建一个笔记系统,我已经到了用户可以使用PHP将笔记发布到MySQL数据库的阶段,然后PHP将它们打印在页面上.但是,当它们打印/回显时,最旧的一个首先出现,但我想要最近的第一个.我也希望它们限制在10,所以页面上只显示10个.这是我的PHP代码,非常感谢您的帮助:

// initialize some variables
$notedisplaylist = "";
$myObject = "";
$result = mysql_query("SELECT * FROM notes WHERE note_author_id='$u_id' ORDER BY         date_time");

while($row = mysql_fetch_array($result)){
  $note_title = $row["note_title"];
  $note_body = $row["note_body"];
  $date = $row["date_time"];
  $notedisplaylist .= '<h2>' . $note_title . '</h2><br /><p>' . $note_body . '</p><hr /><p>Noted: ' . $date . '</p><hr /><br />';
}
Run Code Online (Sandbox Code Playgroud)

Ack*_*kar 27

这应该这样做:

$result = mysql_query("SELECT * FROM notes WHERE note_author_id='$u_id' ORDER BY date_time DESC LIMIT 0, 10");
Run Code Online (Sandbox Code Playgroud)


Boo*_*eus 10

使用:

SELECT * FROM notes WHERE note_author_id='$u_id' ORDER BY date_time DESC LIMIT 10
Run Code Online (Sandbox Code Playgroud)

DESC:降序(从最新到最旧)LIMIT 10:找到前10个记录.


gil*_*den 7

尝试

$result = mysql_query("SELECT * FROM notes WHERE note_author_id='$u_id' ORDER BY date_time DESC LIMIT 10");
Run Code Online (Sandbox Code Playgroud)

有关更详细的解释ORDERLIMIT信息,请访问MySQL的文档的有关文章排序行和基本选择语法(找描述子弹LIMIT).


mit*_*esh 6

给予喜欢

 ORDER BY date_time DESC
Run Code Online (Sandbox Code Playgroud)

否则你按升序对它们进行排序..这就是为什么老的第一个出现


dub*_*n87 5

做这个

$result = mysql_query("SELECT * FROM notes WHERE note_author_id='$u_id' ORDER BY date_time DESC LIMIT 0, 10");
Run Code Online (Sandbox Code Playgroud)