簡體   English   中英

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

[英]PHP and MySQL: Order by most recent date and limit 10

我正在我的網站上構建一個筆記系統,我已經到了用戶可以使用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 />';
}

這應該這樣做:

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

使用:

SELECT * FROM notes WHERE note_author_id='$u_id' ORDER BY date_time DESC LIMIT 10

DESC:降序(從最新到最舊)LIMIT 10:找到前10個記錄。

嘗試

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

有關ORDERLIMIT的更詳細說明,請訪問MySQL doc關於排序行和基本選擇語法的文章(查找描述LIMIT的項目符號)。

給予喜歡

 ORDER BY date_time DESC

否則你按升序對它們進行排序..這就是為什么老的第一個出現

做這個

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

如果你想讓你的LIMIT成為一個變量,我在這里命名為$ limit:

"SELECT * FROM tbl ORDER BY input_date DESC LIMIT 0, $limit";

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM