好吧所以我在新闻栏目中编码,每当我插入新新闻时,它的展示在旧新闻之下。 我想让它成为ORDER BY id,但让它像backwards一样开始。我不知道如何解释,但是 我希望它们按照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>";
}
?>
答案 0 :(得分:5)
在DESC
子句中添加ORDER BY
SELECT * FROM news ORDER BY id DESC
默认情况下,它处于ASC
模式。
答案 1 :(得分:5)
SELECT * FROM news ORDER BY id DESC
DESC是降序关键字
ASC升序
如果您既未指定,则默认行为为升序
答案 2 :(得分:1)
在sql查询中使用DESC
关键字。
答案 3 :(得分: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
这意味着您可以提前安排新闻项目,并会在日期/时间到来时自动显示!
答案 4 :(得分:0)
$sqlnews = mysql_query("SELECT * FROM news ORDER BY id DESC");
答案 5 :(得分:0)
试试这个:
只需要添加
order by id DESC
答案 6 :(得分: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>";
}
?>