Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/67.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
需要显示最后5行的帮助。PHP,MYSQL_Php_Mysql_Rows - Fatal编程技术网

需要显示最后5行的帮助。PHP,MYSQL

需要显示最后5行的帮助。PHP,MYSQL,php,mysql,rows,Php,Mysql,Rows,谁能告诉我我做错了什么。我想按desc顺序显示最后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_ti

谁能告诉我我做错了什么。我想按desc顺序显示最后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 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
}

您可以按升序检索前五个,然后使用子查询在SQL中对它们进行排序:

select al.*
from (SELECT al.*
      FROM activity_logs al
      WHERE ac_no = '$logined_acc'
      order by id asc
      limit 0, 5
     ) al
order by id desc;

我知道这并不能解决您的问题,但我强烈建议您不要使用mysql_query()-就像这里的PHP人员一样:-从PHP 5.5.0开始,它就被弃用了,将来会被删除可能是查询中的输入错误?同时检查$logined_acc是否已定义,查询语法是否正确?我不知道您面临的问题是什么?回显“$activity”;语句在循环之外。您将始终看到最后一个值5。这或在
$activity
上使用串联赋值
=
。并在循环之前初始化它。
select al.*
from (SELECT al.*
      FROM activity_logs al
      WHERE ac_no = '$logined_acc'
      order by id asc
      limit 0, 5
     ) al
order by id desc;