Utilisation de MySQL LIMIT et OFFSET pour la pagination
La pagination est essentielle pour afficher de grands ensembles de données en morceaux gérables. MySQL fournit deux commandes, LIMIT et OFFSET, pour activer cette fonctionnalité.
LIMIT définit le nombre maximum de lignes à récupérer, tandis que OFFSET spécifie le nombre de lignes à ignorer avant de commencer la récupération. Cela vous permet de récupérer une page spécifique de données.
Exemple de code pour la pagination :
Considérez le code suivant, qui affiche quatre éléments par page :
$result = mysqli_query($con, "SELECT * FROM menuitem LIMIT 4");
Ce code récupérera les quatre premières lignes de la table menuitem. Pour créer plusieurs pages, vous pouvez utiliser OFFSET pour sauter des lignes :
$offset = 4; $result = mysqli_query($con, "SELECT * FROM menuitem LIMIT 4 OFFSET $offset");
Ce code sautera les quatre premières lignes et récupérera les quatre suivantes.
Détermination du nombre total de Pages :
Pour créer une pagination sans coder en dur les numéros de page, vous devez d'abord déterminer le nombre total de pages. Vous pouvez y parvenir en comptant le nombre total de lignes dans le tableau :
$sql = "SELECT COUNT(*) FROM menuitem"; $result = mysqli_query($con, $sql); $row_count = mysqli_num_rows($result); // Free the result set mysqli_free_result($result);
Maintenant, vous pouvez calculer le nombre de pages :
$items_per_page = 4; $page_count = (int)ceil($row_count / $items_per_page);
Générer des liens de page :
Avec le nombre total de pages connues, vous pouvez générer des pages liens :
for ($i = 1; $i <= $page_count; $i++) { if ($i === $page) { // This is the current page echo 'Page ' . $i . '<br>'; } else { // Show link to other page echo '<a href="/menuitem.php?page=' . $i . '">Page ' . $i . '</a><br>'; } }
Cela générera des liens vers toutes les pages, mettant en évidence la page actuelle.
En utilisant cette approche, vous pouvez créer une pagination sans coder en dur les numéros de page et garantir une flexibilité d'affichage grands ensembles de données.
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!