ホームページ  >  記事  >  バックエンド開発  >  PHPでレコードページングを実装するというアイデアは何ですか?

PHPでレコードページングを実装するというアイデアは何ですか?

藏色散人
藏色散人オリジナル
2021-12-10 10:41:291959ブラウズ

レコード ページングを実装するための

php のアイデア: 1. 結果セット内のレコード数を取得する; 2. 各ページに表示されるレコード数を設定する; 3. 合計ページ数を取得する; 4.各ページに表示されるレコード数; 5 、パラメータを渡して表示されるページ番号をスクリプト プログラムに通知するだけです。

PHPでレコードページングを実装するというアイデアは何ですか?

#この記事の動作環境: Windows 7 システム、PHP バージョン 7.4、Dell G3 コンピューター。

php でレコード ページングを実装するというアイデアは何ですか?

PHP Mysql はデータのページング表示を実現します:

  • ##結果セット内のレコード数を取得するには、SELECT ステートメントで COUNT() 関数を使用して、結果セット内のレコード数を取得できます

  • Set変数の使用を前提とした各​​ページに表示されるレコード数

    $PageSize は、各ページに表示されるレコード数を保存するために使用されます。その値は必要に応じてユーザーが設定し、直接実装できます。代入ステートメントを通じて。

  • 合計ページ数を取得するには、2 つのデータ

    $RecordCount$PageSize# を使用して合計ページ数を計算できます。 ##$PageCount,

  • ページ n にレコードを表示する方法 PageSize プロパティを使用して各ページに表示されるレコード数を制御できますが、どのレコードを表示する必要があるか表示されるの? SELECT文のLIMIT句を使用して、クエリレコードの範囲を指定できます。使用方法は次のとおりです: SELECT * FROM テーブル名 LIMIT 開始位置、レコード数を表示します。たとえば、#ページのレコードを取得する場合##$Page
  • では、次のステートメントを使用できます:

    SELECT * FROM テーブル名 LIMIT ($Page- 1) * $ PageSize, $ PageSize

    #表示するページ番号をスクリプトに通知する方法 パラメータを渡すことで、スクリプトに表示するページ番号を通知することができます。レコードをページングするためのスクリプトが viewPage.php であり、パラメーターを渡すためのリンクが次のとおりであると仮定します:
  • http://localhost/viewPage.php?page= 2
  • page パラメーターは、現在のページ番号。 viewPage.php で、次のステートメントを使用してパラメータを読み取ります:

    <!doctype html>
    <html>
    <head>
        <meta charset="utf-8" />
        <title>Document</title>
    </head>
    <body>
        <?php 
        header("content-type:text/html;charset=utf-8");
            //获取当前页码
            $page=$_GET[&#39;page&#39;];
            if($page==0){
                $page=1;
            }
            //设置每页最大能显示的数量
            $pagesize=3;
    
            //连接数据库
            $conn=mysql_connect("localhost","root","root");
            mysql_select_db("test");
            mysql_query("set names utf-8");
            if(!$conn){
                die("mysql_connect_failed".mysql_connect_error());
            }
            else 
                echo("connected succeed"."<br />");
            //获取结果集的记录数
            $row=mysql_fetch_row(mysql_query("select count(1) from clerk"));
            $recordcount=$row[0]; 
    
    
    
    
            //计算总页数
            if($recordcount==0)
                $pagecount=0;
            else if($recordcount<$pagesize ||$recordcount==$pagesize){
                    $pagecount=1;
                    //如果 记录 总数 量小 于 每页 显示 的 记录 数量, 则 只有 一页
                }
            else if($recordcount%$pagesize==0){
                    $pagecount=$recordcount/$pagesize;
                    //如果 没有 余数, 则 页数 等于 总 记录 数量 除以 每页 显示 记录 的 数量
                }
            else 
                    $pagecount=(int)($recordcount/$pagesize)+1;
                    //取 记录 总数 量 不能 整除 每页 显示 记录 的 数量,
                    // 则 页数 等于 总 记录 数量 除以 每页 显示 记录 数量 的 结果 取整 再加 1
    
            echo("当前页码:".$page."/".$pagecount."<br />");
    
        ?>
    
        <table width="449" border="1">
            <tr>
                <td>员工姓名</td>
                <td>职务</td>
                <td>薪水</td>
            </tr>
        <?php 
        //循环显示当前页面的记录
        header("content-type:text/html;charset=utf-8");
        echo $page;
        //$sql="select * from clerk limit" .($page-1)*$pagesize.",".$pagesize;  //$page为当前页码
        $sql=($page-1)*$pagesize;
        $result=mysql_query("select * from clerk limit {$sql},{$pagesize}");
        while($row=mysql_fetch_row($result))
        {   
    
            echo("<tr />");
            echo("<td>$row[0]</td>");
            echo("<td>$row[2]</td>");
            echo("<td>$row[3]</td>");
            echo("<tr />");
        }
        mysql_close($conn);
    
        //显示分页链接
        if($page==1){
            echo("第一页");
        }
        else
            echo("<a href=viewpage.php?page=1>第一页</a>");
            //设置上一页连接
    
        if($page==1){
             echo("上一页");
        }
        else 
            echo("<a href=viewpage.php?page=".($page-1).">上一页</a>");
    
            //设置下一页链接
        if($page==$pagecount){
            echo("下一页");
        }
        else 
            echo("<a href=viewpage.php?page=".($page+1).">下一页</a>");
        //设置最后一页
        if($page==$pagecount){
            echo("最后一页");
        }
        else 
            echo("<a href=viewpage.php?page=".$pagecount.">最后一页</a>");
        ?>
        </table>
    </body>
    </html>

推奨学習: 「PHPでレコードページングを実装するというアイデアは何ですか?PHP ビデオ チュートリアル

以上がPHPでレコードページングを実装するというアイデアは何ですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。