PHP 原生代码实现数据分页显示功能

Oliver
Oliver
发布时间:2026-10-13 | 5人浏览过
原创

在使用 PHP 开发 Web 应用时,展示大量数据通常需要进行分页处理。本文将展示如何利用传统的 mysql 扩展(注:现代开发建议使用 PDO 或 mysqli)和原生 SQL 语句,实现一个基础的数据分页显示功能。

第1步:定义分页变量与接收参数

首先需要设置每页显示的记录数量、获取当前页数以及默认值。如果 URL 中没有传递页数参数,则默认为第一页。

  1. 初始化变量:设置 $pageSize 为每页显示条数,$pageNow 为当前页码(默认1)。
  2. 获取URL参数:使用 $_GET['pageNow'] 检查是否有传入的页码,如有则覆盖默认值。

第2步:连接数据库并获取总记录数

为了计算总页数,我们需要知道数据库中符合条件的总行数。此步骤涉及数据库连接、字符集设置及查询统计。

  • 使用 mysql_connect 连接数据库服务器。
  • 执行 SET NAMES utf8 确保编码正确。
  • 选择目标数据库表。
  • 执行 SELECT COUNT(id) FROM user 获取总数,并使用 ceil() 函数向上取整计算总页数 ($pageCount)。

第3步:构建查询语句并获取当前页数据

利用计算出的偏移量,构造带有 LIMIT 子句的 SQL 语句,从数据库中截取当前页所需的数据片段。

  • 计算偏移量:公式为 ($pageNow - 1) * $pageSize。
  • 执行查询:使用 SELECT * FROM user LIMIT offset, size 获取具体数据行。
  • 遍历输出:使用 while 循环配合 mysql_fetch_assoc 提取数组内容并输出到页面。

第4步:生成分页导航链接

最后,需要根据计算出的总页数,在前端渲染出可点击的分页链接列表,以便用户跳转。

  • 使用 for 循环从第1页遍历至最后一页。
  • 每个数字都封装在超链接中,参数携带对应的页码:href='userList.php?pageNow=$i'。
<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>用户列表</title>
</head>
<body>
<?php 
  // 注意:mysql_* 函数在 PHP 5.5+ 已弃用,建议迁移至 PDO 或 MySQLi
  $con = mysql_connect("localhost","root","");
  mysql_query("set names utf8");
  mysql_select_db("zhiye",$con);
  
  $pageSize = 5;   //每页显示的数量,此处设为示例值
  $rowCount = 0;   //要从数据库中获取
  $pageNow = 1;    //当前显示第几页
  
  //如果有pageNow就使用,没有就默认第一页。
  if (!empty($_GET['pageNow'])){
    $pageNow = $_GET['pageNow'];
  }
  
  $pageCount = 0;  //表示共有多少页
  
  $sql1 = "select count(id) from user";
  $res1 = mysql_query($sql1);
  
  if($row1=mysql_fetch_row($res1)){
    $rowCount = $row1[0];
  }
  
  //计算共有多少页,ceil取进1
  $pageCount = ceil(($rowCount/$pageSize));
  
  //使用sql语句时,注意有些变量应取出赋值。
  $pre = ($pageNow-1)*$pageSize;
  
  $sql2 = "select * from user limit $pre,$pageSize";
  $res2 = mysql_query($sql2);
 
  while($row=mysql_fetch_assoc($res2)){
    echo $row['user_name']."<br>";
    echo $row['name']."<br>";
    echo $row['email']."<br>";
    echo $row['password']."<br>";
    echo $row['tel']."<br>";
  }
  for ($i=1;$i<=$pageCount;$i++){
    echo "<a href='userList.php?pageNow=$i'>$i</a>&nbsp;";
  }
?>
</body>
</html>

以上就是基于 PHP 实现数据分页显示功能的详细内容,更多关于 PHP 分页开发技巧的资料请关注本站其它相关文章!

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表