Précédent   Forum des professionnels en informatique > PHP > Langage > Débuter
Débuter Forum d'entraide pour débuter en PHP. Avant de poster -> Cours PHP, FAQ PHP, Outils PHP, etc.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 02/03/2011, 13h51   #1
Membre habitué
 
Avatar de thebarbarius
 
Inscription : octobre 2008
Messages : 745
Détails du profil
Informations forums :
Inscription : octobre 2008
Messages : 745
Points : 139
Points : 139
Par défaut Comment compter le nombre de valeurs

Bonjours,

J'ai une requête :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
		$conn = new odbc();
		$conn->connect(ma_db);
 
		$sql1 = "SELECT * 
		   		 FROM ma_table";
 
 
		$conn->executer($sql1);
 
		while ($row = $conn->tableauAssoc()) {
			echo $row['id'];
 
		}
Ça me liste des chiffres sous cette forme :
En fait, je voudrais compter le nombre de 1 de 3 ou 4.

Pour que ça s'affiche comme ça :
Code :
1
2
3
 
nombre de 1 : 3
nombre de 3  4
Voila j'ai essayé d'être claire.
J'espère recevoir votre aide.
thebarbarius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/03/2011, 14h24   #2
Membre habitué
 
Avatar de BGDC
 
Inscription : septembre 2003
Messages : 102
Détails du profil
Informations forums :
Inscription : septembre 2003
Messages : 102
Points : 108
Points : 108
essaye :

Code :
SELECT count(distinct(id)) FROM ma_table
__________________
Bon allez, cette fois c'est sur, ça marche........bon aller je réessaye......
BGDC est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/03/2011, 14h28   #3
Membre chevronné
 
Avatar de Farid63
 
Homme Farid
Inscription : janvier 2008
Messages : 368
Détails du profil
Informations personnelles :
Nom : Homme Farid
Âge : 26
Localisation : France, Puy de Dôme (Auvergne)

Informations forums :
Inscription : janvier 2008
Messages : 368
Points : 684
Points : 684
Salut,

si j'ai bien compris, tu aimerai obtenir :

Citation:
1 : 3
3 : 2
4 : 4
Si c'est le cas, essaye avec cette requête :

Code SQL :
SELECT champ, COUNT(champs) FROM `ma_table` GROUP BY champ;

Remplace champ par le nom du champ de ta table.

En espérant t'avoir aidé.
Farid63 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/03/2011, 14h56   #4
Membre habitué
 
Avatar de thebarbarius
 
Inscription : octobre 2008
Messages : 745
Détails du profil
Informations forums :
Inscription : octobre 2008
Messages : 745
Points : 139
Points : 139
Se sera quoi exactement.

Parcque je ce que je veux, c'est pas compté le nombre de valeur dans une colonne.

sa c'est ma table :
Code :
1
2
3
4
 
ID : int(11)
 
contenu : 1|1|1|2|2|3|3
Donc je voudrai rassemblé et compté tous les 1, 2 et 3.
Code :
1
2
3
4
 
nombre de 1 -> 3
nombre de 2 -> 2
nombre de 3 -> 2

Mais ce que je veux surtout, c'est qu'il faudrai recuperer les chiffres contenu dans ma table automatiquement, et non pas manuellemnt.

J'espere etre un peu plus claire.
thebarbarius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/03/2011, 15h29   #5
Membre habitué
 
Avatar de BGDC
 
Inscription : septembre 2003
Messages : 102
Détails du profil
Informations forums :
Inscription : septembre 2003
Messages : 102
Points : 108
Points : 108
As tu tester une des réponses ? Si oui qu'est ce que ça donne ?

Pour ma part, la requête que je te donne doit faire ce que tu demandes, il suffit de changer id pour le nom du champ contenu.
__________________
Bon allez, cette fois c'est sur, ça marche........bon aller je réessaye......
BGDC est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/03/2011, 15h50   #6
Membre habitué
 
Avatar de thebarbarius
 
Inscription : octobre 2008
Messages : 745
Détails du profil
Informations forums :
Inscription : octobre 2008
Messages : 745
Points : 139
Points : 139
Et bien comment exploiter ensuite le tableau ?
thebarbarius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/03/2011, 15h59   #7
Membre chevronné
 
Avatar de Farid63
 
Homme Farid
Inscription : janvier 2008
Messages : 368
Détails du profil
Informations personnelles :
Nom : Homme Farid
Âge : 26
Localisation : France, Puy de Dôme (Auvergne)

Informations forums :
Inscription : janvier 2008
Messages : 368
Points : 684
Points : 684
J'ai essayé la requête de BGDC est elle me renvoie le nombre d'ID.
@BCDG, tu la essayé?

@thebarbarius

Voila la requête que tu doit écrire :

Code SQL :
SELECT id, COUNT(id) AS nb_id FROM `ma_table` GROUP BY id;

Et devrait pouvoir trouver le résultat comme tu l'a fait (pas testé faut que tu essaye) :

Code PHP :
echo $row['id'] . ' : ' . $row['nb_id'];
Farid63 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/03/2011, 16h11   #8
Membre habitué
 
Avatar de thebarbarius
 
Inscription : octobre 2008
Messages : 745
Détails du profil
Informations forums :
Inscription : octobre 2008
Messages : 745
Points : 139
Points : 139
Ah bien sa marche.

Pourtant au debut j'etais parti avec une syntaxe similaire, et sa avait pas marché .

Merci.
thebarbarius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/03/2011, 16h19   #9
Membre habitué
 
Avatar de thebarbarius
 
Inscription : octobre 2008
Messages : 745
Détails du profil
Informations forums :
Inscription : octobre 2008
Messages : 745
Points : 139
Points : 139
Ah une derniere requete concernant ce topic.


Et pour n'afficher que les les ID supérieur a a 2 ?
thebarbarius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/03/2011, 16h31   #10
Membre du Club
 
Sebastien
Inscription : janvier 2011
Messages : 76
Détails du profil
Informations personnelles :
Nom : Sebastien

Informations forums :
Inscription : janvier 2011
Messages : 76
Points : 50
Points : 50
Bonjour ,

Pour pouvoir compter :
- Soit tu met compte dans ta requête.
- Soit tu met un compteur dans un boucle.

Cordialement.
kirua99 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/03/2011, 16h36   #11
Membre habitué
 
Avatar de thebarbarius
 
Inscription : octobre 2008
Messages : 745
Détails du profil
Informations forums :
Inscription : octobre 2008
Messages : 745
Points : 139
Points : 139
Oui c'est dejat résolue.

Je veux juste savoir maintenant comment compter n'afficher que les id supérieur a 2
thebarbarius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/03/2011, 17h39   #12
Membre Expert
 
Avatar de Hephaistos007
 
Inscription : décembre 2004
Messages : 1 293
Détails du profil
Informations forums :
Inscription : décembre 2004
Messages : 1 293
Points : 1 376
Points : 1 376
Tu rajoutes simplement la clause SQL "WHERE id>2" ...
__________________
Mieux vaut mobiliser son intelligence sur des conneries que sa connerie sur des choses intelligentes. [SHADOKS]

Cours sur la programmation pour SmartPhones Android (Requière la lecture du cours sur la programmation Java)
Hephaistos007 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/03/2011, 17h47   #13
Membre habitué
 
Avatar de thebarbarius
 
Inscription : octobre 2008
Messages : 745
Détails du profil
Informations forums :
Inscription : octobre 2008
Messages : 745
Points : 139
Points : 139
Je me suis mal exprimé.

Je veux n'affiché que les nombres qui sont repeter plus de 2 fois
thebarbarius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/03/2011, 17h50   #14
Membre Expert
 
Avatar de Hephaistos007
 
Inscription : décembre 2004
Messages : 1 293
Détails du profil
Informations forums :
Inscription : décembre 2004
Messages : 1 293
Points : 1 376
Points : 1 376
Ah ! c'est une autre question ?!

Alors ce sera :
Code SQL :
SELECT COUNT(*) AS nb_sup2 FROM `ma_table` WHERE id>2;
__________________
Mieux vaut mobiliser son intelligence sur des conneries que sa connerie sur des choses intelligentes. [SHADOKS]

Cours sur la programmation pour SmartPhones Android (Requière la lecture du cours sur la programmation Java)
Hephaistos007 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/03/2011, 17h51   #15
Membre habitué
 
Avatar de thebarbarius
 
Inscription : octobre 2008
Messages : 745
Détails du profil
Informations forums :
Inscription : octobre 2008
Messages : 745
Points : 139
Points : 139
Je me suis mal exprimé.
Le code a Farid63 me convient.

Mais je veux en plus rajouté une condition pour n'afficher que les nombres qui se repete au moins 2 fois
thebarbarius est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/03/2011, 18h01   #16
Membre Expert
 
Avatar de Hephaistos007
 
Inscription : décembre 2004
Messages : 1 293
Détails du profil
Informations forums :
Inscription : décembre 2004
Messages : 1 293
Points : 1 376
Points : 1 376
Peut-être (je dit bien peut-être) un truc comme ca :
Code SQL :
SELECT id, COUNT(id) AS nb_id FROM `ma_table` GROUP BY id HAVING COUNT(id)>2;
__________________
Mieux vaut mobiliser son intelligence sur des conneries que sa connerie sur des choses intelligentes. [SHADOKS]

Cours sur la programmation pour SmartPhones Android (Requière la lecture du cours sur la programmation Java)
Hephaistos007 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/03/2011, 18h11   #17
Membre habitué
 
Avatar de thebarbarius
 
Inscription : octobre 2008
Messages : 745
Détails du profil
Informations forums :
Inscription : octobre 2008
Messages : 745
Points : 139
Points : 139
Non sa marche

Edit : C'es bon j'ai trouvé
thebarbarius est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h06.


 
 
 
 
Partenaires

Hébergement Web