ホームページ > データベース > mysql チュートリアル > データベース結果に対して単純な PHP ページネーションを実装するにはどうすればよいですか?

データベース結果に対して単純な PHP ページネーションを実装するにはどうすればよいですか?

Mary-Kate Olsen
リリース: 2025-01-21 19:01:11
オリジナル
343 人が閲覧しました

How to Implement Simple PHP Pagination for Database Results?

単純な PHP データベース ページング スクリプト

大量のデータを扱う場合、情報を効果的に整理して表示するにはページング機能が不可欠です。このタスクを実行するのに役立つ、わかりやすい PHP ページネーション スクリプトを次に示します。

コアコンセプト:

スクリプトはデータベース内のアイテムの合計数を特​​定し、事前定義された制限に基づいてすべてのアイテムを表示するのに必要なページ数を計算します。現在のページのオフセットを計算し、開始行番号と終了行番号など、現在のページに関する情報を表示します。

実装例:

次のコード例は、PHP ページネーション スクリプトの動作を示しています。

<code class="language-php"><?php 
// 数据库连接和查询
$dbh = new PDO(...);
$total = $dbh->query('SELECT COUNT(*) FROM table')->fetchColumn();

// 分页设置
$limit = 20;
$pages = ceil($total / $limit);
$page = min($pages, filter_input(INPUT_GET, 'page', FILTER_VALIDATE_INT, array(
    'options' => array(
        'default' => 1,
        'min_range' => 1,
    ),
)));
$offset = ($page - 1) * $limit;

// 分页显示
$start = $offset + 1;
$end = min(($offset + $limit), $total);
$prevlink = ($page > 1) ? '<a href="?page=1">首页</a> <a href="?page=' . ($page - 1) . '">上一页</a>' : '« ‹';
$nextlink = ($page < $pages) ? '<a href="?page=' . ($page + 1) . '">下一页</a> <a href="?page=' . $pages . '">尾页</a>' : '› »';
echo "<div><p>此脚本根据数据库结果动态计算分页,提供了一种用户友好的方式,可以一次一页地浏览大型数据集。</p></div>";
echo "<div>显示{$start}到{$end}条记录,共{$total}条记录,共{$pages}页</div>";
echo "<div>{$prevlink} {$nextlink}</div>";

// 查询并显示分页数据
$stmt = $dbh->prepare("SELECT * FROM table LIMIT :limit OFFSET :offset");
$stmt->bindParam(':limit', $limit, PDO::PARAM_INT);
$stmt->bindParam(':offset', $offset, PDO::PARAM_INT);
$stmt->execute();
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
    // 显示数据
    echo "<pre class="brush:php;toolbar:false">";
    print_r($row);
    echo "
"; } ?>
ログイン後にコピー

以上がデータベース結果に対して単純な PHP ページネーションを実装するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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