2011-08-27 13 views
9

私は自分のサイトにノートシステムを構築しています。ユーザーはPHPを使用してMySQLデータベースにメモを投稿し、PHPがそれらを出力しますページ。しかし、プリント/エコーアウトするとき、最も古いものが最初に表示されますが、最も新しいものが最初に必要です。私はまた、それらが10に制限されるようにしたいので、ページには10だけが表示されます。ここに私のPHPコードは、あなたの助けがはるかに高く評価され、次のとおりです。PHPとMySQL:最新の日付と期限で注文1

// 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 />'; 
} 

答えて

22

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

sorting rowsと基本select syntax(約MySQLのドキュメントの記事を訪問し、ORDERLIMITに関するより詳細な説明については

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

をお試しくださいLIMITと記載された箇条書きを参照してください)。

6

はそう

ORDER BY date_time DESC 

あなたが昇順にソートされている。..古いものが来て、なぜthatsのように与える最初のこれはそれを行う必要があります

9

使用:

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

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

5

場合には、あなたのLIMITが変数になりたい場合は、ここで私はそれが限界に$という名前の、この

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

を行います

"SELECT * FROM tbl ORDER BY input_date DESC LIMIT 0, $limit"; 
関連する問題