$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'];
}
}
我希望首先显示数据库中的最后一个字段。怎么实现这个?
答案 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"