>  기사  >  백엔드 개발  >  PHP는 데이터 페이징을 구현하여 자세한 작업을 표시합니다.

PHP는 데이터 페이징을 구현하여 자세한 작업을 표시합니다.

王林
王林앞으로
2019-08-23 16:34:032940검색

페이징은 백그라운드 관리에서 자주 사용되는 기능입니다. 페이징 표시를 통해 대용량 데이터를 쉽게 관리할 수 있습니다.

예제 코드는 다음과 같습니다.

<!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[&#39;pageNow&#39;])){        
            $pageNow = $_GET[&#39;pageNow&#39;];
        }
        $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[&#39;user_name&#39;]."<br>";       
            echo $row[&#39;name&#39;]."<br>";       
            echo $row[&#39;email&#39;]."<br>";      
            echo $row[&#39;password&#39;]."<br>";  
            echo $row[&#39;tel&#39;]."<br>";
             }
            for ($i=1;$i<=$pageCount;$i++){  
              echo "<a href=&#39;userList.php?pageNow=$i&#39;>$i</a> ";
            }?>
</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[&#39;pageNow&#39;])){
        $pageNow = $_GET[&#39;pageNow&#39;];
    }
    
    $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[&#39;user_name&#39;]."<br>";
        echo $row[&#39;name&#39;]."<br>";
        echo $row[&#39;email&#39;]."<br>";
        echo $row[&#39;password&#39;]."<br>";
        echo $row[&#39;tel&#39;]."<br>";
   }
   if($pageNow>1){
       $prePage = $pageNow-1;
       echo "<a href=&#39;userList.php?pageNow=$prePage&#39;>pre</a> ";
   }
   if($pageNow<$pageCount){
       $nextPage = $pageNow+1;
       echo "<a href=&#39;userList.php?pageNow=$nextPage&#39;>next</a> ";
       echo "当前页{$pageNow}/共{$pageCount}页";
   }
   echo "<br/><br/>";
   ?>
 
   <form action="userList.php">
        <input type="text" name="pageNow">
        <input type="submit" value="GO">
   </form>

더 많은 관련 질문은 PHP 중국어 웹사이트를 방문하세요: PHP 비디오 튜토리얼

위 내용은 PHP는 데이터 페이징을 구현하여 자세한 작업을 표시합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 cnblogs.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제