[英]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個記錄。
給予喜歡
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.