Maison > développement back-end > tutoriel php > Comment implémenter la pagination dans MySQL en utilisant LIMIT et OFFSET ?

Comment implémenter la pagination dans MySQL en utilisant LIMIT et OFFSET ?

DDD
Libérer: 2024-11-17 12:13:01
original
313 Les gens l'ont consulté

How do you implement pagination in MySQL using LIMIT and OFFSET?

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");
Copier après la connexion

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");
Copier après la connexion

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);
Copier après la connexion

Maintenant, vous pouvez calculer le nombre de pages :

$items_per_page = 4;
$page_count = (int)ceil($row_count / $items_per_page);
Copier après la connexion

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>';
  }
}
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal