Heim >Backend-Entwicklung >PHP-Tutorial >Wie implementiert man eine einfache PHP-Paginierung für Webanwendungen?

Wie implementiert man eine einfache PHP-Paginierung für Webanwendungen?

DDD
DDDOriginal
2024-12-21 07:25:10856Durchsuche

How to Implement Simple PHP Pagination for Web Applications?

PHP-Paginierung: Ein einfaches Skript

Einführung

Häufig Daten effizient für Webanwendungen verwalten beinhaltet die Implementierung einer Paginierung, um umfangreiche Daten in überschaubare Seiten aufzuteilen. Dieser Artikel stellt ein rudimentäres Skript bereit, das die Paginierung in PHP ermöglicht.

PHP-Paginierungsskript

Um zu vermeiden, dass derselbe Code für verschiedene Seiten wiederholt wird, verwenden wir eine Kombination aus HTML und PHP. Hier ist das Skript:

<?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>';
}
?>

Fazit

Dieses Skript verwendet HTML und PHP, um Daten dynamisch über mehrere Seiten anzuzeigen und Benutzern ein nahtloses und intuitives Surferlebnis zu bieten.

Das obige ist der detaillierte Inhalt vonWie implementiert man eine einfache PHP-Paginierung für Webanwendungen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn