Maison > développement back-end > tutoriel php > Comment implémenter une pagination PHP simple pour les applications Web ?

Comment implémenter une pagination PHP simple pour les applications Web ?

DDD
Libérer: 2024-12-21 07:25:10
original
856 Les gens l'ont consulté

How to Implement Simple PHP Pagination for Web Applications?

Pagination PHP : un script simple

Introduction

Gérer efficacement les données pour les applications Web souvent implique la mise en œuvre d’une pagination pour diviser des données volumineuses en pages gérables. Cet article fournit un script rudimentaire qui permet la pagination en PHP.

Script de pagination PHP

Pour éviter de répéter le même code pour des pages distinctes, nous utilisons une combinaison de HTML et PHP. Voici le script :

<?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>';
}
?>
Copier après la connexion

Conclusion

Ce script utilise HTML et PHP pour afficher dynamiquement les données sur plusieurs pages, offrant aux utilisateurs une expérience de navigation transparente et intuitive.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal