Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/247.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
大型PHP数组分页_Php_Mysql_Pagination - Fatal编程技术网

大型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代码之前从数据库中检

我有一个数组,它有超过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";

...

根据建议,您可以使用
限制
。要查找结果总数,您可以选择执行以下操作:

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>为多个记录显示分页导航链接,请考虑使用“对数”页面导航。请看这里:


您可以与MySQLs
limit
offset
方法结合使用。请参阅这篇基本分页文章,您可以与MySQLs
limit
offset
方法结合使用。请参阅这篇基本分页文章,它说使用COUNT并再次选择with limit更快。它说使用计数和选择再次限制更快。