PHP实现数据分页显示详细操作

分页在后台管理中是经常使用的功能,分页显示方便大量数据的管理。

实例代码如下:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title>用户列表</title>
</head>
<body>
    <?php 
        $con = mysqli_connect("localhost","root","");   
        mysqli_query("set names utf8");    mysqli_select_db("zhiye",$con);    
        $pageSize = 1;      //每页显示的数量
        $rowCount = 0;      //要从数据库中获取
        $pageNow = 1;        //当前显示第几页
        //如果有pageNow就使用,没有就默认第一页。
        if (!empty($_GET['pageNow'])){        
            $pageNow = $_GET['pageNow'];
        }
        $pageCount = 0;   //表示共有多少页
        $sql1 = "select count(id) from user";    
        $res1 = mysqli_query($sql1);
        if($row1=mysqli_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 = mysqli_query($sql2);
        while($row=mysqli_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 
    $con = mysqli_connect("localhost","root","");
   
    mysqli_query("set names utf8");
    mysqli_select_db("zhiye",$con);
    
    $pageSize = 1;      //每页显示的数量
    $rowCount = 0;      //要从数据库中获取
    $pageNow = 1;        //当前显示第几页
    
    //如果有pageNow就使用,没有就默认第一页。
    if (!empty($_GET['pageNow'])){
        $pageNow = $_GET['pageNow'];
    }
    
    $pageCount = 0;   //表示共有多少页
    
    $sql1 = "select count(id) from user";
    $res1 = mysqli_query($sql1);
    
    if($row1=mysqli_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 = mysqli_query($sql2);
    
    //$sql = "select * from user";
    //$res = mysqli_query($sql,$con);
  
   while($row=mysqli_fetch_assoc($res2)){
        echo $row['user_name']."<br>";
        echo $row['name']."<br>";
        echo $row['email']."<br>";
        echo $row['password']."<br>";
        echo $row['tel']."<br>";
   }
   if($pageNow>1){
       $prePage = $pageNow-1;
       echo "<a href='userList.php?pageNow=$prePage'>pre</a>&nbsp;";
   }
   if($pageNow<$pageCount){
       $nextPage = $pageNow+1;
       echo "<a href='userList.php?pageNow=$nextPage'>next</a>&nbsp;";
       echo "当前页{$pageNow}/共{$pageCount}页";
   }
   echo "<br/><br/>";
   ?>
 
   <form action="userList.php">
        <input type="text" name="pageNow">
        <input type="submit" value="GO">
   </form>

更过相关问题请访问PHP中文网:PHP视频教程

以上就是PHP实现数据分页显示详细操作的详细内容,更多请关注求知技术网其它相关文章!

发表评论

电子邮件地址不会被公开。 必填项已用*标注