ホームページ >バックエンド開発 >PHPチュートリアル >PHP を MySQL と組み合わせてネイティブ ページングを実装する
PHP 開発では、
フレームワーク がますます広く使用されていることがわかります。フレームワークが使用されすぎると、徐々に過去のものになってしまいます。基本的なものを過去のものにしないでください。 !私たちの記事は、PHP と MySQL を組み合わせてネイティブ ページングを実装する方法についてです。現在、一般的なフレームワークで ページネーション クラス がカプセル化されているため、手動で記述する必要はありません。しかし、何もすることがないときは、コーディング スキルを書いて練習することができます。 PHP+MYSQL ページングは主に SQL ステートメントの制限に基づいて実装されます。
limit ステートメント:select * from table limit `limit`,`offset`;制限はページングのページ数、オフセットは各ページに表示される項目の数と考えることができます。 実装効果は図に示すとおりです:
これは単なるコード例であり、主にページング関数、ページ効果などを実装します。これに関連する特別なデバッグはありません。
<?php header("Content-type:text/html;charset=utf-8"); // 1、传入页码 $page = $_GET['p']; // 2、根据页码取出数据 $pdo = new PDO('mysql:host=localhost;dbname=ceshi','root','root'); $pdo->setAttribute(PDO::ATTR_EMULATE_PREPARES,false); $sql = 'SELECT * FROM `goods` LIMIT :start,:offset'; $limit = ($page-1)*3; $offset = 3; $stmt = $pdo->prepare($sql); $sqlnum = 'SELECT COUNT(*)FROM `goods`'; $stmtnum = $pdo->prepare($sqlnum); $stmtnum->execute(); $num = $stmtnum->fetch(PDO::FETCH_ASSOC); $stmt->bindParam(':start',$limit); $stmt->bindParam(':offset',$offset); if(!$stmt->execute()){ throw new Exception('查找失败',1); } $data = $stmt->fetchAll(PDO::FETCH_ASSOC); var_dump($data); // 3、显示数据+显示分页条 /**总页数**/ $end = floor($num['COUNT(*)']/$offset)+1; $page_banner ='<a href="'.$_SERVER['PHP_SELF'].'?p=1"> 首页</a>'; if($page <=1){ $page_banner .= '<a style="color:#B8BBB3;"> 上一页</a>'; }else{ $page_banner .='<a href="'.$_SERVER['PHP_SELF'].'?p='.($page -1).'"> 上一页</a>'; } if($page+3>4){ $page_banner .= '...'; } if(($page+4)>=$end){ $page_banner .='<a href="'.$_SERVER['PHP_SELF'].'?p='.($end-3).'"> '.($end-3).'</a>'; $page_banner .='<a href="'.$_SERVER['PHP_SELF'].'?p='.($end-2).'"> '.($end-2).'</a>'; $page_banner .='<a href="'.$_SERVER['PHP_SELF'].'?p='.($end-1).'"> '.($end-1).'</a>'; $page_banner .='<a href="'.$_SERVER['PHP_SELF'].'?p='.($end).'"> '.($end).'</a>'; }else{ for($i=0;$i<4;$i++){ $page_banner .='<a href="'.$_SERVER['PHP_SELF'].'?p='.($page+$i).'"> '.($page+$i).'</a>'; } } if(($page+4)<$end){ $page_banner .= '...'; } if($page <=$num['COUNT(*)']/$offset){ $page_banner .='<a href="'.$_SERVER['PHP_SELF'].'?p='.($page +1).'"> 下一页</a>'; }else{ $page_banner .='<a style="color:#B8BBB3;"> 下一页</a>'; } $page_banner .='<a href="'.$_SERVER['PHP_SELF'].'?p='.$end.'"> 尾页</a>'; $page_banner .='<span> 总共'.$end.'页</span> 当前第<span>'.$page."页</span>"; echo $page_banner; ?>ローカルで練習できます!理解できないならもっと練習したほうがいいよ!こういう基本的なことを忘れてしまうと、また取り戻すのが大変になってしまいます! !
関連する推奨事項:
phpページングクラスの実装
今日は、使いやすく美しいphpページングクラスを共有します。
PHPページングの実装原理
ユニバーサル PHP ページング クラスのサンプル コード
この記事では、特に使いやすいユニバーサル PHP ページング クラスを主に紹介します。PHP ページング クラスを使用する必要がある友人は見逃さないでください。
効果を実現するための Thinkphp ページング
大量のデータを表示するには、コンテンツのページネーションが必要です。この記事は、整理が必要な友人が一緒に学習できるようにするための thinkphp ページングを紹介します。
以上がPHP を MySQL と組み合わせてネイティブ ページングを実装するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。