谁能告诉我我做错了什么。我想按降序显示最后 5 行。
$pull_activity_logs = mysql_query("SELECT * FROM activity_logs WHERE ac_no = '$logined_acc' order by id desc limit 0,5")
or die(mysql_error());
while($row = mysql_fetch_array( $pull_activity_logs )) {
$activity_time = $row["datetime"];
$activity = $row["activity"];
}
echo "$activity";
非常感谢您的帮助
最佳答案
好吧,您始终可以按 asc 顺序选择前五个,这将是按 desc 顺序的最后五个,然后如果需要,您可以在 php 中反转它们的顺序(5 个值并不是数组无法处理的)
代码:
$pull_activity_logs = mysql_query("SELECT * FROM activity_logs WHERE ac_no = '$logined_acc' order by id asc limit 5");
$temp_arr = array();
while($row = mysql_fetch_array( $pull_activity_logs )) {
$temp_arr[] = $row; //add to end
}
$final_arr = array_reverse($temp_arr);
foreach($final_arr as $row) //this doesn't have to be named $row
$activity_time = $row["datetime"];
$activity = $row["activity"];
echo "$activity";
}
编辑:
现在当我看它时,也许整个问题出在你的 echo 的扭曲位置:
$pull_activity_logs = mysql_query("SELECT * FROM activity_logs WHERE ac_no = '$logined_acc' order by id desc limit 0,5")
or die(mysql_error());
while($row = mysql_fetch_array( $pull_activity_logs )) {
$activity_time = $row["datetime"];
$activity = $row["activity"];
echo "$activity"; //this goes INSIDE the loop
}
关于php - 需要帮助显示最后 5 行。 PHP、MySQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18561982/