2

我有非常基本的 php 问题。我正在从数据库中获取数据并使用一些样式逐行打印它们。问题是这些数据代表新闻,我希望它们以相反的顺序打印(我获取的最后一行应该首先打印)。我不确定我是否可以一次获取整个表格并应用反向功能(我尝试过,但没有用)。

这是我的代码:

<?php
                include 'dbconnect.php';
                $data = mysql_query("SELECT * FROM news") or die(mysql_error()); 

                while($info = mysql_fetch_array( $data )) 
                {
                echo '<article><h3> '.$info['subject'].'</h3><div id="date">'.$info['date']. '</div>';
                echo '<p>'.$info['news']. '</p></article>';

                } 
?>

我试过这样的事情:

$data = [];
array_push($array, $info);

在while循环内,然后打印它,但结果却没有工作。感谢您的任何回答!

4

6 回答 6

3

你应该直接在 sql 中而不是之后在 php 中:

SELECT * FROM news ORDER BY date DESC

您还应该切换到 PDO(或 mysqli),因为这些mysql_*功能已被弃用。

于 2013-03-25T14:41:09.923 回答
2
"SELECT * FROM news ORDER BY id DESC"

如果您对每条新闻都有一个 ID,则可以使用它。

于 2013-03-25T14:41:28.630 回答
2

尝试这个:

$data = mysql_query("SELECT * FROM news ORDER BY date DESC") or die(mysql_error());
于 2013-03-25T14:42:11.617 回答
0

mysql 查询中 PHP 或ORDER BYid的array_reverse() 函数(or time/date column) DESC

于 2013-03-25T14:41:01.970 回答
0
mysql_query("SELECT * FROM news ORDER BY date DESC")

我相信这就是您正在寻找的。

于 2013-03-25T14:42:51.760 回答
0
$query = "SELECT * FROM news ORDER BY date DESC";
$data = mysql_query($query) or die(mysql_error());
于 2013-03-27T08:44:33.750 回答