在PHP开发的网站中,列表分页功能是非常常见的需求,默认的每页显示数量往往是根据通用场景预设的,当业务需要调整单页展示的数据量时,就需要修改对应的PHP源码。分页的核心是通过数据库查询的LIMIT子句控制返回的数据条数,因此修改每页显示数量本质就是调整LIMIT的参数值。

常见分页逻辑的核心参数
大多数PHP项目的分页逻辑都会包含一个控制每页显示数量的变量,常见的命名有$page_size、$per_page、PAGE_SIZE等,这个变量会直接参与数据库查询的拼接。比如下面是一段基础的分页查询代码示例:
<?php
// 连接数据库
$conn = mysqli_connect('127.0.0.1', 'root', '123456', 'test_db');
// 获取当前页码,默认第一页
$page = isset($_GET['page']) ? intval($_GET['page']) : 1;
// 每页显示数量,这里就是需要修改的核心参数
$page_size = 10;
// 计算查询偏移量
$offset = ($page - 1) * $page_size;
// 执行分页查询
$sql = "SELECT * FROM article_list LIMIT $offset, $page_size";
$result = mysqli_query($conn, $sql);
// 处理查询结果
while ($row = mysqli_fetch_assoc($result)) {
echo $row['title'] . '<br/>';
}
?>
修改每页显示数量的具体方法
1. 直接修改硬编码的每页数量变量
如果项目中每页数量是用变量直接定义的,没有做配置化处理,直接找到对应的变量修改数值即可。比如上面的示例中,把$page_size = 10;修改为$page_size = 20;,就可以让每页显示20条数据。
2. 修改配置文件中的预设常量
很多规范的项目会把这类通用配置放到配置文件中,比如config.php,通常会用常量来定义每页数量:
<?php
// config.php 配置文件内容
define('PAGE_SIZE', 10);
define('DB_HOST', '127.0.0.1');
define('DB_USER', 'root');
?>
这时候只需要修改define('PAGE_SIZE', 10);中的10为目标数值,比如改成15,所有引用这个常量的分页逻辑都会同步生效。
3. 调整前端传递的每页数量参数
部分项目的每页数量支持前端动态传递,比如通过GET参数per_page控制,这时候需要检查后端是否对参数做了限制:
<?php // 获取前端传递的每页数量,默认10 $per_page = isset($_GET['per_page']) ? intval($_GET['per_page']) : 10; // 限制每页数量的最大值,避免恶意请求 $per_page = min($per_page, 50); ?>
如果需要调整允许的最大每页数量,修改min($per_page, 50);中的50为目标数值即可,比如改成100,前端传递的per_page参数最大可以生效到100。
修改时的注意事项
- 修改前建议先备份对应的源码文件,避免修改出错后无法恢复。
- 如果项目使用了框架,比如Laravel、ThinkPHP,分页逻辑通常在框架的分页类或者查询构造器中,需要找到对应的分页配置项,比如Laravel中可以在
config/pagination.php中修改per_page参数。 - 修改后需要测试分页功能是否正常,比如跳转最后一页时数据是否完整,页码计算是否正确。
- 如果列表数据量很大,不建议把每页数量设置得过高,避免单次查询返回过多数据导致页面加载缓慢。
验证修改效果
修改完成后,访问对应的列表页面,查看单页展示的数据条数是否符合预期,同时切换不同页码,确认分页逻辑没有因为修改出现错误。如果页面没有生效,可以清除项目缓存,或者检查修改的变量是否确实是当前分页逻辑使用的参数。