0

わかりましたので、ニュースセクションにコーディングし、新しいニュースを挿入するたびに、古いニュースの下に表示されます。ORDER BY id にしたいのですが、逆方向に開始するようにします。説明する方法がわかりませんが、id によって追加された最新のもので並べ替えたいので、挿入された最初の行の id が 1 の場合は、次のIDの下に表示されます。

したがって、id = 2 の行がここに表示されます

したがって、id = 1 の行がここに表示されます

このようになるのではなく、それが私が望む方法です

したがって、id = 1 の行がここに表示されます

したがって、id = 2 の行がここに表示されます

.

私の悪い説明で申し訳ありませんが、これが理解できることを願っています

これまでのところ、私のコードはここにあります

<?php  
require("include/config.php");
$sqlnews = mysql_query("SELECT * FROM news ORDER BY id");
while($row = mysql_fetch_array($sqlnews)) {
    $dbdate = $row['date'];
    $dbnews = $row['news'];
    echo "<h1><strong>$dbdate</strong></h1>";
    echo "<div class='content'>$dbnews</div><br><br>";
}
?>
4

7 に答える 7

5

条項を追加DESCするORDER BY

SELECT * FROM news ORDER BY id DESC

デフォルトでは、ASCモードになっています。

于 2012-08-21T06:53:05.147 に答える
5

SELECT * FROM news ORDER BY id DESC

DESCは、
ASCが昇順である降順のキーワードです。

どちらも指定しない場合、デフォルトの動作は昇順です

于 2012-08-21T06:53:25.990 に答える
1

DESCSQLクエリでキーワードを使用するだけです。

于 2012-08-21T06:54:33.407 に答える
1
$sqlnews = mysql_query("SELECT * FROM news ORDER BY id DESC");

ただし、意味的には、IDを自動的に割り当てることをカウントアップするシーケンスを誰かが変更することを妨げるものは何もないため、idを使用することはあまり良い考えではありません。

したがって、列を追加する必要がありますcreated_at。行を挿入するたびに、SQL関数を使用できますNOW()

利点は、次のように言うことができることです。

SELECT * FROM news WHERE created_at <= NOW() ORDER BY created_at DESC

これは、ニュースアイテムを事前にスケジュールできることを意味し、日付/時刻が到着すると自動的に表示されます!

于 2012-08-21T06:54:40.693 に答える
0
   $sqlnews = mysql_query("SELECT * FROM news ORDER BY id DESC");
于 2012-08-21T06:54:00.967 に答える
0

これを試して:

追加する必要があります

order by id DESC
于 2012-08-21T06:54:54.337 に答える
0

コードを次のコードに置き換えるだけです。

<?php  
require("include/config.php");
$sqlnews = mysql_query("SELECT * FROM news ORDER BY id DESC");
while($row = mysql_fetch_array($sqlnews)) {
    $dbdate = $row['date'];
    $dbnews = $row['news'];
    echo "<h1><strong>$dbdate</strong></h1>";
    echo "<div class='content'>$dbnews</div><br><br>";
}
?>
于 2012-08-21T07:05:41.547 に答える