Compteur d'entrées différentes en PHP

Résolu/Fermé
faxime Messages postés 21 Date d'inscription lundi 9 mars 2009 Statut Membre Dernière intervention 18 décembre 2009 - 18 déc. 2009 à 12:09
Mopra-L Messages postés 146 Date d'inscription lundi 29 juin 2009 Statut Membre Dernière intervention 23 mai 2012 - 18 déc. 2009 à 14:21
Bonjour,
Je suis étudiant en design d'intéractivité, et je dois toucher à un peu de code pour un projet personnel.
Voilà ce que je voudrais réussir à faire :
J'ai une base de données avec 3 champs : ID (en auto incrément), Classe et action.
Le champ classe va souvent être le même ( 5-6 possibilités ), alors que action sera différent à chaque entrée.
L'objectif est de comptabiliser combien d'entrées différentes il y a dans le champ classe, et les lister.
Par exemple, si ma table est comme ceci =>

ID         Classe         Action
1           Truc         blablabla
2           Bidule       blobloblo
3           Bidule       blublu
4           Machin       fqsffefv
5           Truc         ferzfgrg
6           Bidule       fefdfqf
7           Bidule       hgdfsze
8           Chose        htjrhgbdvf


Il me faudrait donc une variable qui me renvoie la valeur
4
, car il y a 4 classes diffrentes, et une autre variable qui me renvoie
'Truc', 'Bidule', 'Machin', 'Chose'
C'est à dire le nom des différentes entrées du champ classe.

Voilà, j'espère avoir été clair dans ma demande, dites moi si vous n'avez pas compris! ;)
À bientôt j'espère :)

10 réponses

Mopra-L Messages postés 146 Date d'inscription lundi 29 juin 2009 Statut Membre Dernière intervention 23 mai 2012 6
18 déc. 2009 à 12:12
Bonjour,

Avec un count associé a un SELECT DISTINCT, je pense que c'est possible :)

En gros : SELECT DISTINCT count(Classe) FROM ta_table

Voila, j'espere que ca va fonctionner :D
0
faxime Messages postés 21 Date d'inscription lundi 9 mars 2009 Statut Membre Dernière intervention 18 décembre 2009
18 déc. 2009 à 12:27
Ok, alors on doit pas être loin, mais il me dit :
Resource id #3

Je vais essayer de chercher d'ou ça vient ;)
0
Mopra-L Messages postés 146 Date d'inscription lundi 29 juin 2009 Statut Membre Dernière intervention 23 mai 2012 6
18 déc. 2009 à 12:32
Ah, oui, tu ne peux pas récupérer la variable tel quel

Tu dois faire :

$sql = 'SELECT DISTINCT count(Classe) as nb_classe FROM ta_table';

$res = mysql_query($sql);

$resultat = mysql_fetch_array($res);

echo $resultat["nb_classe"];


La, je pense (je crois...j'espere ?) que ca fonctionnera ;)
0
faxime Messages postés 21 Date d'inscription lundi 9 mars 2009 Statut Membre Dernière intervention 18 décembre 2009
18 déc. 2009 à 12:46
YATTTAAAAAAAA! Ça marche => https://www.youtube.com/watch?v=JmAWngZOtOI
;)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
faxime Messages postés 21 Date d'inscription lundi 9 mars 2009 Statut Membre Dernière intervention 18 décembre 2009
18 déc. 2009 à 12:53
AHHH, en fait non, là, il me compte toutes les entrées. Moi je voudrais qu'il ne compte que le nombre d'entrées différentes de mon champ classe. C'est possible?
0
Mopra-L Messages postés 146 Date d'inscription lundi 29 juin 2009 Statut Membre Dernière intervention 23 mai 2012 6
18 déc. 2009 à 12:58
Ah flute, j'y ai cru ^^

Et bien, sinon...tu ne fais pas le count dans la requete, mais plutot apres :

$sql = 'SELECT DISTINCT Classe FROM ta_table';

$res = mysql_query($sql);

$nb_class = 0;

foreach( mysql_fetch_array($res)){

$nb_class++;

}

J'utilise pas souvent des distinct, donc je suis pas tres doué a ce niveau, désolé :p





0
faxime Messages postés 21 Date d'inscription lundi 9 mars 2009 Statut Membre Dernière intervention 18 décembre 2009
18 déc. 2009 à 13:30
Non, non, ne sois pas désolé, je te suis très reconnaissant de répondre aussi vite^^
Alors juste un petit problème maintenant, il me dit :
Parse error: syntax error, unexpected ')' in /Applications/MAMP/htdocs/index.php on line 55

La ligne 55, c'est celle où il y a :
foreach (mysql_fetch_array($res)){

Une idée?
0
Mopra-L Messages postés 146 Date d'inscription lundi 29 juin 2009 Statut Membre Dernière intervention 23 mai 2012 6
18 déc. 2009 à 13:43
Je ne vois pas trop ou est le probleme, mais apres verif sur le net, il vaut mieux mettre "while", plutot que foreach, c'est peut-être ca...

Et, j'avais oublié ca, mais mysql_num_rows($res) devrait directement te donner le nombre d'enregistrement.


Si le probleme persiste, essaye de me mettre les lignes un peu avant ou apres, aussi, ca peut venir de la.
0
faxime Messages postés 21 Date d'inscription lundi 9 mars 2009 Statut Membre Dernière intervention 18 décembre 2009
18 déc. 2009 à 13:58
Daccodac, en tout cas merci pour ton aide précieuse ;)
0
Mopra-L Messages postés 146 Date d'inscription lundi 29 juin 2009 Statut Membre Dernière intervention 23 mai 2012 6
18 déc. 2009 à 14:21
No problem, si t'as encore besoin d'aide, tu sais ou me trouver :D
0