ホームページ >バックエンド開発 >PHPチュートリアル >Web アプリケーションに単純な PHP ページネーションを実装するにはどうすればよいですか?

Web アプリケーションに単純な PHP ページネーションを実装するにはどうすればよいですか?

DDD
DDDオリジナル
2024-12-21 07:25:10911ブラウズ

How to Implement Simple PHP Pagination for Web Applications?

PHP ページネーション: 単純なスクリプト

はじめに

Web アプリケーションのデータを効率的に管理するページネーションを実装して、大量のデータを管理可能なページに分割することが含まれます。この記事では、PHP でページネーションを可能にする基本的なスクリプトを説明します。

PHP ページネーション スクリプト

別々のページで同じコードを繰り返すことを避けるために、HTML とPHP。スクリプトは次のとおりです:

<?php
try {
    // Count total database rows
    $total = $dbh->query('SELECT COUNT(*) FROM table')->fetchColumn();

    // Set pagination parameters
    $limit = 20;
    $pages = ceil($total / $limit);

    // Get current page number
    $page = filter_input(INPUT_GET, 'page', FILTER_VALIDATE_INT, ['options' => ['default' => 1, 'min_range' => 1]]);

    // Calculate query offset
    $offset = ($page - 1)  * $limit;

    // Display pagination information
    $start = $offset + 1;
    $end = min(($offset + $limit), $total);
    $prevlink = ($page > 1) ? '<a href="?page=1" title="First page">&laquo;</a> <a href="?page=' . ($page - 1) . '" title="Previous page">&lsaquo;</a>' : '<span class="disabled">&laquo;</span> <span class="disabled">&lsaquo;</span>';
    $nextlink = ($page < $pages) ? '<a href="?page=' . ($page + 1) . '" title="Next page">&rsaquo;</a> <a href="?page=' . $pages . '" title="Last page">&raquo;</a>' : '<span class="disabled">&rsaquo;</span> <span class="disabled">&raquo;</span>';

    // Prepare paged query
    $stmt = $dbh->prepare('
        SELECT * FROM table ORDER BY name LIMIT :limit OFFSET :offset
    ');
    $stmt->bindParam(':limit', $limit, PDO::PARAM_INT);
    $stmt->bindParam(':offset', $offset, PDO::PARAM_INT);
    $stmt->execute();

    // Display results
    if ($stmt->rowCount() > 0) {
        $stmt->setFetchMode(PDO::FETCH_ASSOC);
        $iterator = new IteratorIterator($stmt);
        foreach ($iterator as $row) {
            echo '<p>' . $row['name'] . '</p>';
        }
    } else {
        echo '<p>No results could be displayed.</p>';
    }
} catch (Exception $e) {
    echo '<p>' . $e->getMessage() . '</p>';
}
?>

結論

このスクリプトは HTML と PHP を使用して複数のページにわたってデータを動的に表示し、ユーザーにシームレスで直感的なブラウジング エクスペリエンスを提供します。

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

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