ホームページ > php教程 > php手册 > PHP でページング効果を実現する方法についての詳細な図による説明

PHP でページング効果を実現する方法についての詳細な図による説明

PHPz
リリース: 2018-10-19 15:58:36
オリジナル
1990 人が閲覧しました

ページング効果は Web ページでは一般的ですが、ページング効果を実現するにはどうすればよいでしょうか? 今日は、ページング効果を実現する 2 つの方法を説明しました。

まず、データベースにテーブルを準備し、データを挿入する必要があります。図に示すように、これらはすべて必要な前提条件です (ライブラリ名は jereh 、テーブル名は です)。 n_content) :

ステップ分析:

ページングが必要な場合は、「select」を使用する必要があります* from tableName limit "num1, num2"; これは、クエリを制限するためのステートメントで、その後に num1 は検索を開始する番号、num2 は検索する情報の番号です。次の図に示すように、3 つのデータ 2、3、4 を見つけます

それでは、次の手順から始めましょう:

1 . クエリを制限する機能を実装する関数を作成します

まず、この関数を実装するには、現在のページ番号と必要な情報の数を知る必要があります。これは、仮パラメータを使用して渡すことができます。次に、pageNum をページ番号に設定し、pageSize をクエリ ステートメント「select * from tableName limit num1, num2」に設定します。 is (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. 合計ページ数を表示する関数を作成します。

これには新しい知識点はありません。以前に書かれたすべての知識ポイントを見てみましょう

//显示总页数的函数
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 メソッドを使用する必要があります。そのため、コード

を見てください。
 <?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 を使用してパラメータを受け入れているため、get;

Homepage: " のパラメータを渡すだけで済みます。 pageNum=1";

前のページ: "pageNum="

次の 1 ページ: "pageNum ="

最後のページ: "pageNum=";

次の点に特別な注意を払う必要があります: 「pageNum=」の後にスペースを指定することはできません。コードは次のとおりです

 <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>
ログイン後にコピー

効果は次のとおりです:

【おすすめ関連チュートリアル】

1. 初心者から上級者までの php プログラミングの完全なビデオチュートリアル
2. 🎜>入門から熟練までの php 3.
ブートストラップ チュートリアル

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート