Afficher

Transcription

Afficher
NEWSOFT
FORMATION PHP
Compter le nombre d'enregistrements [COUNT et GROUP BY]
Résultat unique
Pour avoir le nombre d'enregistrements que pourrait retourner la requête SELECT, le langage
SQL propose la fonction COUNT.
Pour tester cet exemple vous devez télécharger le fichier des célébrités qui sert pour tous les
tutoriels. Si vous ne l'avez pas encore fait ne vous gênez pas et cliquez ici
Le fichier est construit autour de fiches contenant des informations sur les célébrités et en
particulier leur activité.
Extrait du fichier :
La requête :
SELECT COUNT(*) FROM celebrites
retournera une seule ligne résultat contenant un seul champ dont la
valeur sera 100 (soit le nombre d'enregistrement dans la table).
La requête :
SELECT COUNT(*) FROM celebrites WHERE activite='sport'
aurait quant à elle retourné la valeur 18 (nombre de sportifs dans la
table).
NEWSOFT
FORMATION PHP
Résultat multiple
Il est également possible d'obtenir en une seule requête le nombre d'enregistrements pour
chaque type d'activité.
Pour cela il faut utiliser l'argument "GROUP BY" dont voici des exemples
d'utilisation.
SELECT COUNT(*) FROM celebrites GROUP BY activite
Une telle requête pourrait retourner un résultat du genre:
Cela nous donne une indication car on sait ainsi que l'on à 4 enregistrements
d'un type donné, 16 d'un autre, 24 d'un autre encore.
Pour que le résulat de la requête soit plus parlant, il convient d'afficher l'activité
en plus du compte (ce qui est parfaitement autorisé par le langage SQL).
SELECT activite, COUNT(*) FROM celebrites GROUP BY activite
donnera ainsi
Bien entendu, le résultat de cette requête n'apparaîtra pas tel quel dans votre page PHP.
Vous récupérerez le résultat comme vous récupérez tous les résultats d'une requête SELECT.
C'est-à-dire dans un tableau associatif.
A traiter en utilisant mysql.fetch_array
Bon courage