ホームページ >バックエンド開発 >PHPの問題 >PHPを使用してページング機能を実装する方法を説明する例

PHPを使用してページング機能を実装する方法を説明する例

PHPz
PHPzオリジナル
2023-04-04 09:16:57668ブラウズ

大量のデータを扱う Web サイトにとって、ページネーションは不可欠な機能の 1 つです。 PHP ページネーションを使用すると、大量のデータを簡単に処理して表示できるようになり、ユーザー エクスペリエンスが向上し、当然のことながら PHP 開発の重要な部分になります。

ページング機能の実装には、通常、ページ テンプレートの提供、各ページのデータ数の決定、総ページ数の決定、ユーザーのニーズに応じたページめくりの実現など、いくつかの側面が含まれます。以下では、これらの各ステップについて説明します。

ページ テンプレートの提供

ページング関数の実装には HTML ページを呼び出す必要があるため、PHP で基本的な HTML ページ テンプレートを実装する必要があります。例:

<!DOCTYPE html>
<html>
<head>
    <title>分页功能实战</title>
</head>
<body>
    <!-- 页面内容 -->
    <div>
        <h2>PHP 分页演示</h2>
        <!-- 分页代码位置 -->
        <!-- 呈现数据的位置 -->
    </div>
    <!-- 分页代码位置 -->
    <div>
        <!-- 分页代码部分 -->
    </div>
</body>
</html>

この基本的な HTML ページでは、PHP で書かれたコード ブロックを使用してデータを呼び出し、ページネーションを生成する必要があります。以下は、各ページに含める必要があるコード ブロックです。

各ページに表示されるデータを配置する

ページングを実装するには、各ページに表示されるデータの量を決定する必要があります。この数値は、バックグラウンドで手動で設定することも、ユーザーのニーズに応じて動的に設定することもできます。たとえば、1 ページあたり 10 個のデータをレンダリングするように設定しました。次に、現在のページ番号に基づいて、対応するデータを表示できます。コードは次のとおりです:

// 初始化每页显示的数量
$per_page = 10;
// 计算偏移量
if(isset($_GET["page"])) {
    $page = $_GET["page"];
} else {
    $page = 1;
}
$start_from = ($page-1) * $per_page;
// 查询数据库获取数据
$sql = "SELECT * FROM jobs LIMIT $start_from, $per_page";
$result = mysqli_query($conn, $sql);

ここでは、SQL ステートメントの LIMIT キーワードを使用して、関連するデータをフィルターで除外します。

合計ページ数を決定する

ページングの中核の 1 つは、合計ページ数を決定することです。この量は、データの総数をクエリし、ページごとに表示されるデータの数で割ることで求められます。コードは次のとおりです。

// 获取数据总量
$total_pages_sql = "SELECT COUNT(*) FROM jobs";
$result = mysqli_query($conn, $total_pages_sql);
$total_rows = mysqli_fetch_array($result)[0];
$total_pages = ceil($total_rows / $per_page);

ここでは、SQL ステートメントの COUNT キーワードを使用してデータの総数を取得し、PHP ceil() 関数を使用して切り上げを実現します。このコードは、以前に決定されたページごとのデータ量とコードを使用してオフセットを計算します。

ユーザーのニーズに応じたページ送り

最後のステップは、ユーザーのニーズに応じたページ送りを実現することです。これは、HTML ページにページ ジャンプ リンクを追加することで実現できます。たとえば、リンクを介してアクセスするページを選択できます。コードは次のとおりです。

// 显示跳转链接
echo "<div id=&#39;pagination&#39;>";
echo "<a href=&#39;index.php?page=1&#39;>".'First Page'."</a> ";
for ($i=1; $i<=$total_pages; $i++) {
    echo "<a href=&#39;index.php?page=".$i."&#39;>".$i."</a> ";
};
echo "<a href=&#39;index.php?page=$total_pages&#39;>".'Last Page'."</a> ";
echo "</div>";

このコードでは、総ページ数に基づいて一連のジャンプ リンクを生成し、現在のページ番号の強調表示を処理するための正規表現を記述します。このようにして、ユーザーは必要に応じて自由にページをめくることができます。

上記は、PHP ページングを実装する手順です。シンプルなデザインと記述により、大量のデータを簡単に処理して表示できるため、ユーザー エクスペリエンスが向上します。

以上がPHPを使用してページング機能を実装する方法を説明する例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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