Maison  >  Article  >  base de données  >  Discutez du processus détaillé de la pagination MySQL

Discutez du processus détaillé de la pagination MySQL

PHPz
PHPzoriginal
2023-04-19 14:12:00730parcourir

Dans le développement Web, la pagination est une fonctionnalité très importante. Lorsque les utilisateurs ont besoin de récupérer des informations à partir d'une grande quantité de données, la fonction de pagination peut les aider à accéder aux données requises sans passer trop de temps sur des informations non pertinentes. Dans la base de données MySQL, les requêtes de pagination sont une tâche qui doit être traitée fréquemment. Dans cet article, nous discuterons du processus détaillé de pagination MySQL.

Le principe de la pagination MySQL

Le principe de la pagination MySQL est d'utiliser l'instruction LIMIT, qui peut limiter le nombre de lignes dans l'ensemble de résultats renvoyés lors des requêtes MySQL. L'instruction LIMIT nécessite généralement deux paramètres. Le premier paramètre spécifie le numéro de ligne de départ du jeu de résultats renvoyé et le deuxième paramètre spécifie le nombre de lignes du jeu de résultats renvoyé.

Par exemple, pour renvoyer les lignes 1 à 10 du jeu de résultats de la requête MySQL, vous pouvez utiliser l'instruction LIMIT suivante :

SELECT * FROM table_name LIMIT 0, 10;

L'instruction ci-dessus spécifie que les 10 lignes commençant par la ligne 0 dans le jeu de résultats est renvoyé. Étant donné que les numéros de ligne dans MySQL commencent à compter à partir de 0, le premier paramètre est 0 et non 1. Le deuxième paramètre spécifie le nombre de lignes souhaité.

Dans les applications Web, les requêtes de pagination nécessitent généralement que l'utilisateur spécifie le numéro de page de l'ensemble de résultats renvoyé et le nombre d'enregistrements affichés sur chaque page. Par conséquent, nous devons également calculer le numéro de ligne de départ et le nombre de lignes dans le jeu de résultats dans l'instruction LIMIT. Supposons que nous devions renvoyer les lignes 11 à 20 de l'ensemble de résultats et afficher 10 lignes par page, vous pouvez utiliser l'instruction LIMIT suivante :

SELECT * FROM table_name LIMIT 10, 10;

Dans cet exemple, le premier paramètre Le paramètre est le numéro de la ligne de départ, qui est la ligne 11. Le deuxième paramètre est le nombre de lignes dans le jeu de résultats, soit 10 lignes. Cette instruction renverra les 10 lignes du jeu de résultats à partir de la ligne 11.

Implémentation de la pagination MySQL

La mise en œuvre de la pagination MySQL nécessite l'utilisation de certaines compétences en matière de requêtes SQL. Ci-dessous, nous verrons comment implémenter des requêtes paginées dans MySQL.

Étape 1 : Calculer le nombre total d'enregistrements

Avant d'effectuer l'opération de pagination, nous devons calculer le nombre total d'enregistrements qui répondent aux conditions de requête. Cette valeur peut être obtenue via la fonction COUNT(). La fonction COUNT() renvoie le nombre total de lignes dans le résultat de la requête.

Par exemple, pour obtenir le nombre total d'enregistrements dans la table nommée nom_table, vous pouvez utiliser l'instruction SQL suivante :

SELECT COUNT(*) FROM nom_table ;

Cette instruction renverra le nombre total d'enregistrements qui répondent aux conditions de requête. Obtenir le nombre total d'enregistrements est la première étape de l'opération de pagination, car nous devons savoir combien de pages sont disponibles pour que l'utilisateur puisse les parcourir.

Étape 2 : Calculer le numéro de la ligne de départ

Le calcul du numéro de la ligne de départ est la deuxième étape de l'opération de radiomessagerie. Étant donné que nous devons commencer à récupérer les données d'une certaine ligne du jeu de résultats, nous devons utiliser le premier paramètre de l'instruction LIMIT pour spécifier le numéro de ligne pour commencer la récupération.

Afin de calculer le numéro de la ligne de départ, vous devez connaître le numéro de la page actuelle et le nombre d'enregistrements affichés sur chaque page. Supposons que nous devions afficher la page 3, avec 10 enregistrements par page, alors le numéro de la ligne de départ est :

(3 - 1) * 10 = 20

Ici (3-1)*10 représente le nombre total des 2 premiers pages Le nombre d'enregistrements, plus le nombre d'enregistrements sur cette page à partir de la ligne 20, correspond exactement au numéro de ligne de départ de la page 3.

Étape 3 : Calculez le nombre de lignes dans l'ensemble de résultats

Le calcul du nombre de lignes dans l'ensemble de résultats est également relativement simple. Il vous suffit de spécifier le deuxième paramètre dans l'instruction LIMIT. Le nombre d'enregistrements à afficher par page est connu, le nombre d'enregistrements à afficher par page peut donc être utilisé comme deuxième paramètre dans l'instruction LIMIT.

Supposons que nous devions afficher 10 enregistrements sur la page 3, le nombre de lignes dans l'ensemble de résultats est de 10.

Étape 4 : Combiner les instructions SQL

Avec le nombre total d'enregistrements, le numéro de ligne de départ et le nombre de lignes dans l'ensemble de résultats, nous pouvons combiner l'instruction LIMIT pour implémenter une requête de pagination. La syntaxe de l'instruction LIMIT est la suivante :

SELECT * FROM table_name LIMIT start_row, row_count;

où start_row est le numéro de ligne de départ et row_count est le nombre de lignes dans l'ensemble de résultats. Cette instruction renverra les lignes row_count à partir de la ligne start_row dans le jeu de résultats qui répondent aux conditions de la requête.

Supposons que nous devions afficher les données sur la page 3, afficher 10 enregistrements par page et que le nom de la table soit table_name, alors l'instruction SQL combinée est :

SELECT * FROM table_name LIMIT 20, 10;

Cette instruction renverra Les 10 lignes d'enregistrements à partir de la ligne 20 de la table nom_table correspondent exactement aux données de la page 3.

Résumé

La requête de pagination MySQL est une fonction couramment utilisée dans le développement Web. Afin d'implémenter la fonction de pagination, vous devez calculer le nombre total d'enregistrements, le numéro de ligne de départ et le nombre de lignes dans le jeu de résultats, puis utiliser l'instruction LIMIT pour limiter le nombre de lignes dans le jeu de résultats de la requête. Lors de l'implémentation des opérations de pagination MySQL, vous devez faire attention à certains détails, tels que la valeur de départ du numéro de ligne est 0, etc.

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