Pagination PHP et MySQL : gestion des résultats dans des pages incrémentielles
Dans les applications Web modernes, il est essentiel de paginer de grands ensembles de résultats dans des pages gérables pour navigation des utilisateurs. En PHP et MySQL, réaliser la pagination implique une combinaison de requêtes SQL et de logique PHP.
Supposons que nous ayons une requête MySQL qui renvoie une liste de toutes les lignes d'une table de « redirection » basée sur un « user_id » spécifique. . Notre objectif est d'afficher ces résultats dans des pages contenant 10 résultats chacune.
Implémentation PHP
Pour paginer les résultats, nous utilisons le code PHP suivant :
<?php // Establish MySQL connection $perPage = 10; // Results per page $page = isset($_GET['page']) ? (int)$_GET['page'] : 1; // Current page $startAt = $perPage * ($page - 1); // Starting record index // Count total results $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); // Calculate total pages // Generate pagination links $links = ""; for ($i = 1; $i <= $totalPages; $i++) { $links .= ($i != $page) ? "<a href='index.php?page=$i'>Page $i</a> " : "$page "; } // Fetch and display results $query = "SELECT * FROM 'redirect' WHERE 'user_id'= \''.$_SESSION['user_id'].' \' ORDER BY 'timestamp' LIMIT $startAt, $perPage"; $r = mysql_query($query); // Display results here the way you want echo $links; // Show links to other pages
Explication
En implémentant cette approche, vous pouvez paginer efficacement de grands ensembles de résultats d'une requête MySQL dans plusieurs pages , offrant une expérience de navigation conviviale pour votre application Web.
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!