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
DDDoriginal
2024-11-17 12:13:01314parcourir

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");

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!

Déclaration:
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