Maison >développement back-end >tutoriel php >Comment déterminer le nombre total de résultats dans MySQL avec décalage et limite ?
Détermination du nombre total de résultats avec décalage et limite MySQL
Lors de la mise en œuvre de la pagination avec décalage et limite, il est crucial de déterminer le nombre total de résultats pour calculer les pages nécessaires. Bien qu'exécuter la requête deux fois (une fois avec et sans LIMIT) puisse sembler redondant, il existe de meilleures approches.
MySQL fournit un moyen de récupérer le nombre total de résultats sans requête supplémentaire à l'aide de SQL_CALC_FOUND_ROWS. En ajoutant ce mot-clé avant la requête principale, MySQL calcule le nombre total de lignes qui auraient été renvoyées sans la clause LIMIT.
Voici un exemple :
<code class="sql">SELECT SQL_CALC_FOUND_ROWS * FROM directory_listing WHERE category_id = <category_id> LIMIT offset, limit;</code>
Après avoir exécuté cette requête, vous pouvez utiliser le code suivant pour récupérer le nombre total de résultats :
$query = $this->db->query('SELECT FOUND_ROWS() AS total_count;'); $total_count = $query->first_row()->total_count;
Cette approche vous permet de récupérer efficacement le nombre total sans exécuter de requête supplémentaire. En utilisant SQL_CALC_FOUND_ROWS, vous pouvez améliorer les performances et l'utilisation des ressources de votre fonctionnalité de pagination.
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!