web-dev-qa-db-ja.com

PHPおよびMySQL:最新の日付で注文し、制限10

私は自分のサイトにメモシステムを構築しており、ユーザーがPHPを使用してMySQLデータベースにメモを投稿し、次にPHP printsただし、印刷/エコーアウトすると、最も古いものが最初に表示されますが、最新のものを最初に表示します。また、それらを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 />';
}
12
James

これはそれをするべきです:

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

使用する:

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

DESC:降順(最新から古い順)LIMIT 10:最初の10レコードが見つかりました。

10
Book Of Zeus

試す

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

ORDERおよびLIMITの詳細な説明については、MySQLドキュメントの 行のソート および基本的な select syntaxLIMITを説明する箇条書き。

7
gilden

のように与える

 ORDER BY date_time DESC

そうでない場合は、昇順で並べ替えます。それが古いものが最初に来る理由です

6
mithunsatheesh

これを行う

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

LIMITを変数にしたい場合は、ここで$ limitという名前を付けます。

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