Défis de la pagination codée en dur
Lors de la création de résultats paginés, il peut être fastidieux de codez manuellement en dur le décalage de chaque page. Cette approche devient peu pratique lorsqu'il s'agit de traiter un grand nombre d'éléments.
Pagination dynamique avec paramètres d'URL
Une solution plus efficace consiste à générer dynamiquement une pagination via des paramètres d'URL. En transmettant le numéro de page demandé via l'URL (par exemple, http://votresite.com/itempage.php?page=2), vous pouvez facilement calculer le décalage pour la requête associée.
$page = isset($_GET['page']) ? filter_input(INPUT_GET, 'page', FILTER_VALIDATE_INT) : 1;
Calcul du nombre total de pages à partir du nombre de lignes
Pour permettre à l'utilisateur de naviguer sur toutes les pages de résultats, il est essentiel de déterminer le nombre total de pages en fonction de la ligne du tableau. count.
$sql = "SELECT COUNT(*) FROM menuitem"; $result = mysqli_query($con, $sql); $row_count = mysqli_num_rows($result); $page_count = ceil($row_count / $items_per_page);
Création de la requête de pagination
Maintenant, avec le numéro de page demandé et le nombre total de pages, vous pouvez formuler la requête SQL avec la LIMITE appropriée et OFFSET.
$offset = ($page - 1) * $items_per_page; $sql = "SELECT * FROM menuitem LIMIT $offset, $items_per_page";
Génération de la page Liens
Enfin, pour fournir des liens de navigation aux utilisateurs, vous pouvez créer dynamiquement des liens pour chaque page avec les paramètres d'URL appropriés.
for ($i = 1; $i <= $page_count; $i++) { $link = "itempage.php?page=$i"; // Output page numbers and links (e.g., active page, previous/next links, etc.) }
Avantages de la pagination dynamique
Cette approche élimine le besoin de pages codées en dur, simplifie les requêtes de base de données et offre une expérience utilisateur flexible pour la navigation données paginées. Il s'adapte bien pour gérer un grand nombre d'enregistrements et garantit la cohérence du comportement de pagination dans votre application.
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!