ホームページ  >  記事  >  バックエンド開発  >  PHP は詳細な操作を表示するためにデータ ページングを実装します

PHP は詳細な操作を表示するためにデータ ページングを実装します

王林
王林転載
2019-08-23 16:34:032938ブラウズ

ページングは​​バックグラウンド管理でよく使われる機能で、ページング表示により大量のデータの管理が容易になります。

サンプル コードは次のとおりです。

<!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 中国語 Web サイト: PHP ビデオ チュートリアル

以上がPHP は詳細な操作を表示するためにデータ ページングを実装しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcnblogs.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。