繁体   English   中英

如何以相反的顺序回显 MySQL 结果?

[英]How to echo MySQL results in inverse order?

$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'];
    }
}

我希望首先显示数据库中的最后一个字段。 如何实施?

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

永远不要自己做数据库可以为您做的事情。

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

在查询中使用ORDER BY子句,以便结果按您希望显示的顺序出现。

如果没有ORDER BY ,就无法保证数据将以什么顺序进入,因此“反转”是没有意义的。

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

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

$all_rows = array_reverse($all_rows);

使用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中的内容!

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM