Maison > Article > développement back-end > Comment implémenter la pagination en PHP et MySQL pour de grands ensembles de données ?
Pagination en PHP et MySQL : guide du débutant
La pagination est essentielle pour gérer de grands ensembles de données et améliorer l'expérience utilisateur. Cet article aborde un scénario de pagination courant en PHP et MySQL.
Les exigences de requête et de pagination
Considérez la requête MySQL suivante :
SELECT * FROM 'redirect' WHERE 'user_id'= \''.$_SESSION['user_id'].' \' ORDER BY 'timestamp'
L'objectif est de paginer les résultats, en affichant 10 résultats par page.
Mise en œuvre de la pagination
La clé de la pagination est de déterminer le point de départ des résultats à récupérer pour chacun page. Implémentez cela avec le code PHP suivant :
<code class="php">$perPage = 10; $page = (isset($_GET['page'])) ? (int)$_GET['page'] : 1; $startAt = $perPage * ($page - 1);</code>
Comptage du nombre total de pages
Pour afficher les liens de pagination, nous devons calculer le nombre total de pages :
<code class="php">$query = "SELECT COUNT(*) as total FROM redirect WHERE user_id = '".$_SESSION['user_id']."'"; $r = mysql_fetch_assoc(mysql_query($query)); $totalPages = ceil($r['total'] / $perPage);</code>
Génération de liens de pagination
Parcourez le nombre total de pages pour générer des liens de pagination :
<code class="php">$links = ""; for ($i = 1; $i <= $totalPages; $i++) { $links .= ($i != $page ) ? "<a href='index.php?page=$i'>Page $i</a> " : "$page "; }</code>
Récupération des résultats pour la page actuelle
Enfin, récupérez les résultats de la page actuelle :
<code class="php">$query = "SELECT * FROM 'redirect' WHERE 'user_id'= \''.$_SESSION['user_id'].' \' ORDER BY 'timestamp' LIMIT $startAt, $perPage"; $result = mysql_query($query);</code>
Affichage des résultats
Affichez les résultats dans le format souhaité et inclure les liens de pagination pour naviguer dans les pages.
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!