我有非常基本的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循环中然后打印它但它没有结果工作。谢谢你的回答!
答案 0 :(得分:3)
你应该直接在sql中,而不是之后在php:
SELECT * FROM news ORDER BY date DESC
您还应该切换到PDO(或mysqli),因为mysql_*
函数已被弃用。
答案 1 :(得分:2)
"SELECT * FROM news ORDER BY id DESC"
如果您有每个新闻的ID,则可以使用此功能。
答案 2 :(得分:2)
试试这个:
$data = mysql_query("SELECT * FROM news ORDER BY date DESC") or die(mysql_error());
答案 3 :(得分:0)
PHP的array_reverse()函数或mysql查询中的ORDER BY
id (or time/date column) DESC
答案 4 :(得分:0)
mysql_query("SELECT * FROM news ORDER BY date DESC")
我相信这就是你要找的东西。
答案 5 :(得分:0)
$query = "SELECT * FROM news ORDER BY date DESC";
$data = mysql_query($query) or die(mysql_error());