ページング効果は Web ページでは一般的ですが、どうすればページングを実現できますか? 今日は、ページング効果を実現する 2 つの方法を実行しました。
まず、データベースにテーブルを作成し、データを挿入する必要があります。これらはすべて必要な前提条件です。図に示すように、特に言うことはありません (ライブラリ名は jereh、テーブル名はn_content) :
ステップ分析:
ページングが必要な場合は、「select * from tableName limit num1,num2」を使用する必要があります。これは制限されたクエリ ステートメントの後に 2 つのパラメータが続き、num1 は検索を開始する番号、num2 は検索する情報の番号です。たとえば、次のように 2、3、4 の 3 つのデータを検索したいとします。次の図に示されています:
関連する推奨事項: "PHP チュートリアル "
それでは、手順を始めましょう:
1. クエリを制限する機能を実装する関数を作成します。
まず第一に、考えてみましょう。この関数を実装するには、まず現在のページ数と、ページ上で制限したい情報の数を知る必要があります。これは形式的なメソッドを使用して渡すことができます。次に、
pageNum をページ数に設定し、pageSize を 1 ページに複数のデータを表示するように設定します。クエリ ステートメント「select * from tableName limit num1,num2」では、
num1 は (pageNum-1) *pageSize、num2 は pageSize であり、この関係を理解すると、扱いやすくなります。コードは次のとおりです。
//分页的函数 function news($pageNum = 1, $pageSize = 3) { $array = array(); $coon = mysqli_connect("localhost", "root"); mysqli_select_db($coon, "jereh"); mysqli_set_charset($coon, "utf8"); // limit为约束显示多少条信息,后面有两个参数,第一个为从第几个开始,第二个为长度 $rs = "select * from n_content limit " . (($pageNum - 1) * $pageSize) . "," . $pageSize; $r = mysqli_query($coon, $rs); while ($obj = mysqli_fetch_object($r)) { $array[] = $obj; } mysqli_close($coon,"jereh"); return $array; }
上記のコードでは、制限の後にスペースを追加する必要があることに注意してください、そうしないとエラーが発生します;
2. 合計ページ数を表示する 2 番目の関数を作成します。
これには新しい知識ポイントはありません。これらはすべて以前に書かれた知識ポイントです。コードを見てみましょう。
//显示总页数的函数 function allNews() { $coon = mysqli_connect("localhost", "root"); mysqli_select_db($coon, "jereh"); mysqli_set_charset($coon, "utf8"); $rs = "select count(*) num from n_content"; //可以显示出总页数 $r = mysqli_query($coon, $rs); $obj = mysqli_fetch_object($r); mysqli_close($coon,"jereh"); return $obj->num; }
3. 前処理としてこれら 2 つの関数を呼び出します。
次のページと次のページの結果を作成したいのですが、このページのデータを転送するには get メソッドを使用する必要があります。その後、ページを更新すると、get メソッドではデータが取得されません。 Trinocular 算術演算を使用する必要があるので、コードを見てみましょう。
<?php @$allNum = allNews(); @$pageSize = 3; //约定每页显示的信息条数 @$pageNum = empty($_GET["pageNum"])?1:$_GET["pageNum"]; @$endPage = ceil($allNum/$pageSize); //总页数 @$array = news($pageNum,$pageSize); ?>
4. ページ上に表示します。
ページに表示するには、foreach ループを使用する必要があります。コードは簡単です。以下を参照してください:
<table border="1" style="text-align: center" cellpadding="0"> <tr> <td>编号</td> <td>新闻标题</td> <td>来源</td> <td>点击率</td> <td>发布日期</td> </tr> <?php foreach($array as $key=>$values){ echo "<tr>"; echo "<td>{$values->id}</td>"; echo "<td>{$values->title}</td>"; echo "<td>{$values->src}</td>"; echo "<td>{$values->indexs}</td>"; echo "<td>{$values->times}</td>"; echo "</tr>"; } ?> </table>
5。前のページと次のページの効果を実現するには。
ページジャンプ効果を実現するには、a タグの href 属性を使用する必要があります。アドレスは "?pageNum =..." です。この pageNum は自分で定義します。get で渡されるため、前のステップで、すでに $_GET を使用してパラメータを受け入れているため、必要なのは取得パラメータを渡すことだけです;
Homepage: "pageNum=1";
Previous page: " pageNum="
次のページ:"pageNum="
最後のページ: "pageNum=";
特別な注意は、"pageNum=" Beコードは次のとおりです:
<a href="?pageNum=1">首页</a> <a href="?pageNum=<?php echo $pageNum==1?1:($pageNum-1)?>">上一页</a> <a href="?pageNum=<?php echo $pageNum==$endPage?$endPage:($pageNum+1)?>">下一页</a> <a href="?pageNum=<?php echo $endPage?>">尾页</a>
コード全体は次のとおりです:
分页 <table border="1" style="text-align: center" cellpadding="0"> <tr> <td>编号</td> <td>新闻标题</td> <td>来源</td> <td>点击率</td> <td>发布日期</td> </tr> <?php foreach($array as $key=>$values){ echo "<tr>"; echo "<td>{$values->id}</td>"; echo "<td>{$values->title}</td>"; echo "<td>{$values->src}</td>"; echo "<td>{$values->indexs}</td>"; echo "<td>{$values->times}</td>"; echo "</tr>"; } ?> </table>
効果は次のとおりです:
以上がPHPでページング効果を実現する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。