大型PHP数组分页
我有一个数组,它有超过10k个结果(由MySQL查询生成),我想知道分页的最佳实践是什么?首先提取所有数据,然后将其拆分为页面,或者有另一种更快/最好的方法?使用MySQL的语法,在数据库到达PHP代码之前,只从数据库中检索所需的结果 大概是这样的:大型PHP数组分页,php,mysql,pagination,Php,Mysql,Pagination,我有一个数组,它有超过10k个结果(由MySQL查询生成),我想知道分页的最佳实践是什么?首先提取所有数据,然后将其拆分为页面,或者有另一种更快/最好的方法?使用MySQL的语法,在数据库到达PHP代码之前,只从数据库中检索所需的结果 大概是这样的: $offset = 0; $per_page = 25; $query = "SELECT * FROM `blah` LIMIT $offset, $per_page"; ... 使用MySQL的语法仅在数据库到达PHP代码之前从数据库中检
$offset = 0;
$per_page = 25;
$query = "SELECT * FROM `blah` LIMIT $offset, $per_page";
...
使用MySQL的语法仅在数据库到达PHP代码之前从数据库中检索所需的结果
大概是这样的:
$offset = 0;
$per_page = 25;
$query = "SELECT * FROM `blah` LIMIT $offset, $per_page";
...
根据建议,您可以使用
限制
。要查找结果总数,您可以选择执行以下操作:
SELECT SQL_CALC_FOUND_ROWS * FROM `table` ... LIMIT 0, 20
然后:
检索分页器的最大页码。根据建议,您可以使用
限制。要查找结果总数,您可以选择执行以下操作:
SELECT SQL_CALC_FOUND_ROWS * FROM `table` ... LIMIT 0, 20
然后:
检索分页器的最大页码。在提取内容之前,您可能需要执行COUNT()查询,以确定总共有多少行。确定需要多少页面的通用算法是
ceil(总行数/行数页面)
在提取内容之前,您可能需要执行COUNT()查询,以确定总共有多少行。确定需要多少页面的通用算法是
ceil(总行数/行数页面)
为了显示许多记录的分页导航链接,请考虑使用“对数”页面导航。请看这里:
< P>为多个记录显示分页导航链接,请考虑使用“对数”页面导航。请看这里:
您可以与MySQLslimit
和offset
方法结合使用。请参阅这篇基本分页文章,您可以与MySQLslimit
和offset
方法结合使用。请参阅这篇基本分页文章,它说使用COUNT并再次选择with limit更快。它说使用计数和选择再次限制更快。