Maison > développement back-end > tutoriel php > Comment puis-je trouver le nombre total de résultats dans la pagination MySQL avec décalage et limite ?

Comment puis-je trouver le nombre total de résultats dans la pagination MySQL avec décalage et limite ?

Patricia Arquette
Libérer: 2024-10-23 10:33:02
original
453 Les gens l'ont consulté

How Can I Find the Total Count of Results in MySQL Pagination with Offset and Limit?

Recherche de résultats totaux avec décalage et limite dans MySQL

La pagination permet aux utilisateurs de parcourir de grands ensembles de données en morceaux gérables. Cependant, déterminer le nombre total de pages nécessite de connaître le nombre total de résultats. Lorsque vous utilisez offset et limit pour la pagination, il semble inefficace d'exécuter la même requête deux fois, une fois avec une limite et une fois sans.

SQL_CALC_FOUND_ROWS : une solution

Pour résoudre Dans ce problème, MySQL fournit un mot-clé spécial : SQL_CALC_FOUND_ROWS. En ajoutant ce mot-clé au début de votre requête, MySQL calculera et stockera le nombre total de lignes qui auraient été renvoyées sans la clause LIMIT.

Exemple de requête :

<code class="sql">SELECT SQL_CALC_FOUND_ROWS * 
FROM table_name 
WHERE category_id = '1' 
ORDER BY date_created DESC
LIMIT 10 OFFSET 20;</code>
Copier après la connexion

Récupération du nombre total de résultats :

Après avoir exécuté la requête ci-dessus, vous pouvez utiliser le code PHP suivant pour récupérer le nombre total de résultats :

<code class="php">$totalRows = $db->query('SELECT FOUND_ROWS() AS total')->row()->total;</code>
Copier après la connexion

Avantages de SQL_CALC_FOUND_ROWS :

  • Efficacité accrue :Élimine le besoin d'exécuter la requête deux fois.
  • Précision : Garantit que le décompte total est correct, même si les données sous-jacentes changent entre les requêtes.
  • Simplicité : Facile à mettre en œuvre avec un seul mot-clé.

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
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal