Maison > Article > développement back-end > Comment implémenter la pagination dynamique dans MySQL à l'aide de LIMIT et OFFSET ?
La pagination est essentielle pour gérer efficacement de grands ensembles de données, permettant aux utilisateurs de parcourir les données dans des pages plus petites et gérables . MySQL fournit deux mots-clés, LIMIT et OFFSET, pour implémenter la pagination.
Le code fourni utilise une limite fixe de 4 éléments par page, qui fonctionne pour une taille de base de données prédéterminée. Cependant, l'objectif est de créer une pagination dynamique sans décalage de page codé en dur.
Pour créer une pagination dynamique, nous devons :
Pour déterminer si un Le lien "PAGE SUIVANTE" doit être affiché, nous devons connaître le nombre total de pages :
Utilisation du numéro de page actuel ($page) et du nombre total de pages ($page_count) , vous pouvez générer dynamiquement des liens pour la pagination. Par exemple, une boucle pourrait parcourir les pages et créer des liens pour chacune d’elles. La page actuelle serait affichée sous forme de texte, tandis que les autres pages seraient affichées sous forme de liens.
// Get the current page number from the URL $page = 1; if (isset($_GET['page'])) { $page = filter_input(INPUT_GET, 'page', FILTER_VALIDATE_INT); if ($page === false) { $page = 1; } } // Set the number of items to display per page $items_per_page = 4; // Build the query $offset = ($page - 1) * $items_per_page; $sql = "SELECT * FROM menuitem LIMIT $offset, $items_per_page"; // Execute the query and fetch the results // Calculate the total number of rows $sql_count = "SELECT COUNT(*) AS row_count FROM menuitem"; $result_count = mysqli_query($con, $sql_count); $row_count = mysqli_num_rows($result_count); $page_count = (int)ceil($row_count / $items_per_page); // Check if the requested page is in range if ($page > $page_count) { // Display an error or set the page to 1 } // Later, when outputting the page, you can use $page and $page_count to generate pagination links
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!