如何按逆序回显MySQL结果?

时间:2011-07-23 10:36:47

标签: php mysql html sql database

$result3=mysql_query("select * from $mail"); 

while($row=mysql_fetch_array($result3)) { 
    if($row['status']!=NULL) {   
        echo $row['status'];
        echo $row['date'];
        echo $row['time'];
    }
}

我希望首先显示数据库中的最后一个字段。怎么实现这个?

5 个答案:

答案 0 :(得分:5)

$result3 = mysql_query("SELECT * from $mail ORDER BY `date` DESC"); 

永远不要自己做数据库可以为您做什么。

如果出于任何奇怪的原因,您实际上想要以相反的顺序遍历结果集,则必须使用mysql_data_seek,从mysql_num_rows() - 1开始并递减每次调用mysql_fetch_array后的指针。

答案 1 :(得分:2)

在查询中使用ORDER BY子句,以便结果按照您想要显示的顺序排列。

如果没有ORDER BY,则无法保证数据的顺序是什么,所以“反转”是没有意义的。

答案 2 :(得分:0)

要么使用ORDER BY在SQL查询本身中进行排序,要么将它们放入PHP中的数组中并反转数组:

$all_rows = array();
while($row=mysql_fetch_array($result3)) {
  $all_rows[] = $row;
}

$all_rows = array_reverse($all_rows);

答案 3 :(得分:0)

使用ORDER BY sql功能订购字段。因此,请选择您要订购的字段,并按该字段对其进行排序。

$result3=mysql_query("select * from $mail ORDER BY date DESC ,time DESC"); 

或者如果他们有一个id字段:

$result3=mysql_query("select * from $mail ORDER BY id DESC"); 

当你在这里时,请确保你知道$mail中的内容!

答案 4 :(得分:-1)

"select * from $mail order by date DESC, time DESC"