php反向获取数组的顺序

时间:2013-03-25 14:39:13

标签: php

我有非常基本的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循环中然后打印它但它没有结果工作。谢谢你的回答!

6 个答案:

答案 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());