php ページングの実装が効果を達成するには、データベース内のデータと連携する必要があることは誰もが知っています。前回の記事でも簡単に説明しましたが、php+mysql はどのようにしてページング効果を実現するのでしょうか?今日は一緒に見てみましょう!
mysql でページ内のデータを表示するステートメントは、limit 5,1 です。5 は検索の開始位置を示し、1 は 1 ページを表示することを示します
したがって、php で前のページを実装するには、データ ページを渡す必要があります。次のページまで移動すると、ページ分割できます。
は 3 つのステップとして理解できます:
1) データベースに接続し、フロントエンドにデータを表示します2) フロントエンドからページ (ページ番号の値) を渡します。 php に変換し、ここでもページ番号を 1 以上、総ページ数以下の範囲で判断する必要があります
3) PHP はページ番号を取得し、判断し、対応する - を実行します。 +操作してリミット値を変更します。
ps: データはデータベースに構築されており、ここでの php は接続のみを担当します。
まず、フロントエンドでデータベース内の情報を表示する方法を知る必要があります:
php ファイル://连接数据库: $link = mysqli_connect("localhost","root","123456","test") or die ("错误:连接数据库失败"); //一次为:服务器,用户名,密码,库名 mysqli_query($link,"set names 'utf8'"); //输出的编码方式,这句一定要有。 //连接表: $sql = "SELECT * FROM wordspace WHERE sa_id IS NOT NULL"; //mysql查询语句 $sqlcount = mysqli_query($link,$sql) or die ("查询失败"); //将其输出. $info = mysqli_fetch_ array($sqlcount); while($info){ $result[ ] = $info; //传值给一个数组 } mysqli_free_result($info); //查询完后要释放该表 mysqli_close($link); //关闭数据库フロントエンドでデータベースから取得した配列を表示します。
<table border="1"> <tr> <td>id</td> <td>Price</td> <td>customer</td> </tr> <!---用php将数据显示--> <?php foreach($result as $val) {?> <tr> <td><?php echo $val['id'];?></td> <td><?php echo $val[Price'];?></td> <td><?php echo $val['customer'];?></td> </tr> <?php } ?> </table>テーブルデータを表示したら、これに基づいてページングを実現します。 前のページと次のページの接続を追加し、渡された値が要件を満たすかどうかをここで判断します:
<!--显示首页和上一页的条件--> <?php if($page > 1) {?> <a href="?page=1">首页</a> <a href="?page=<?php echo $prevpage;">上一页</a> <?php } ?> <!--显示下一页和尾页的条件--> <?php if($page < $ numpages) {?> <a href="?page=<?php echo $nextpage;?">下一页</a> <a href="?page=<?php echo $numpages;?>尾页 <?php } ?>phpでデータベースに接続するための言語を変更する必要があります:
//获取总记录数: $sqls = "SELECT COUNT(*) as totalFROM wordspace where sa_id IS NOT NULL"; $sqlcount = mysqli_query($link,$sqls) od die("查询失败"); $pagecount = mysqli_fetch_array($sqlcount); $pagecount = $pagecount['total']; mysqli_free_result($sqlcount); //查询完记得释放空间 //获取页数,判断是否符合要求 $page = intval($_GET['page']); if($page <=0) {$page= 1;} elseif($page > $pagecount){ $page = $pagecount; } //定义每页显示的页数: $pageshow = 5; $pagesize = ($page-1) * $pageshow; //计算总页数: $numpages = ceil($pagecount/$pageshow); //向上取整; //连接要显示的数据库 $sql = "SELECT * FROM wordcpace where IS NOT NULL limit $pagesize,$pageshow"; $sqlinfo = mysqli_query($sql); $pide = mysqli_fetch_array($sqlinfo)or die("分页查询失败"); while($pide){ $result[ ] = $pide; }
$prevpage = $page - 1;
$nextpage = $page + 1;
mysqli_free_result($sqlinfo); musqli_close($link); //最后要关闭数据库概要:
これを読んで、PHP ページングは、最初にデータベースからデータを抽出して表示し、その後、値の転送や判定などの一連の操作を実行するだけであり、本質をマスターすると、何も問題ありません。お役に立てば幸いです。
関連する推奨事項:PHPページングクラスの実装
以上がphpとmysqlを使用したページングの例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。