Php 按列名称从表名称顺序中选择*?

Php 按列名称从表名称顺序中选择*?,php,mysql,sql,Php,Mysql,Sql,好的,所以我在一个新闻部分编码,每次我插入新的新闻,它显示在旧的下面。 我想让它按id排序,但让它像向后一样开始。我不知道如何解释,但耶 我希望它们按id添加的最新id排序,因此如果插入的第一行的id为1,那么我希望它显示在下一个id的下面 所以id=2的行将在这里 所以id=1的行将在这里 这就是我想要的,而不是现在这样 所以id=1的行将在这里 所以id=2的行将在这里 对不起,我的解释不好,我希望这是可以理解的 这是到目前为止我的密码 <?php require("includ

好的,所以我在一个新闻部分编码,每次我插入新的新闻,它显示在旧的下面。 我想让它按id排序,但让它像向后一样开始。我不知道如何解释,但耶 我希望它们按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>";
}
?>

在您的
ORDER BY
子句中添加
DESC

SELECT * FROM news ORDER BY id DESC

默认情况下,它处于
ASC
模式。

按id描述从新闻顺序中选择*

DESC是降序关键字
ASC是升序关键字

   $sqlnews = mysql_query("SELECT * FROM news ORDER BY id DESC");

如果既不指定,则默认行为为升序

,只需在sql查询中使用
DESC
关键字即可

   $sqlnews = mysql_query("SELECT * FROM news ORDER BY id DESC");
$sqlnews = mysql_query("SELECT * FROM news ORDER BY id DESC");
然而,使用id并不是一个好主意,因为从语义上讲,没有什么可以阻止某人改变自动分配id的顺序

因此,您应该在
处添加一列创建的
。每次插入行时,都可以使用SQL函数
NOW()

优点是你可以说:

SELECT * FROM news WHERE created_at <= NOW() ORDER BY created_at DESC
SELECT*FROM news WHERE created\u at尝试以下操作:

只需补充一点

order by id DESC

只需将代码替换为以下代码:

<?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>";
}
?>

DESC
=降序(从高到低)<代码>ASC
=上升(上升,从低到高)。