Compter le nombre de champs contenant une valeur [Résolu]

Messages postés
3
Date d'inscription
mercredi 30 janvier 2008
Statut
Membre
Dernière intervention
16 mars 2009
- - Dernière réponse : bonapart002
Messages postés
45
Date d'inscription
mercredi 17 décembre 2008
Statut
Membre
Dernière intervention
9 février 2011
- 17 mars 2009 à 03:38
Bonjour à tous,
J'ai une table qui ressemble un peu à çà :

id type_1 type_2 type_3
1 Voiture Voiture Moto
2 Moto Voiture Moto
3 Moto Moto Moto

Je souhaiterai faire une requête qui me compte le nombre de moto (résultat=6 en gros), j'ai essayé avec COUNT mais ca me renvoie nombre d'enregistrement et j'ai essayé avec MATCH AGAINST mais je bloque....
Quelqu'un a une idée ?
Merci
Afficher la suite 

4 réponses

Meilleure réponse
Messages postés
45
Date d'inscription
mercredi 17 décembre 2008
Statut
Membre
Dernière intervention
9 février 2011
3
Merci
Hello
tu peut essayer avec ce code ,ca marche bien:
------------------------------
$nbmoto=0;
$sql="select * from nom_table";  //nom-table:metter le nom de tableau
$req=mysql_query($sql)or die('Erreur sql ');

while($data=mysql_fetch_array($req))
{
if ( $data['type_1'] == "moto") $nbmoto++ ;
if ( $data['type_2'] == "moto") $nbmoto++ ;
if ( $data['type_3'] == "moto") $nbmoto++ ;

}
echo "le nombre de moto est".$nbmoto;

--------------

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 142 internautes nous ont dit merci ce mois-ci

Commenter la réponse de bonapart002
Messages postés
3
Date d'inscription
mercredi 30 janvier 2008
Statut
Membre
Dernière intervention
16 mars 2009
0
Merci
Oups la mise en forme à sauté, j'essaye avec des balises

alors ma table ressemble à çà

id, type_1, type_2, type_3

01, auto, auto, moto

02, moto, auto, moto

03, moto, moto, moto
Commenter la réponse de vbessenay
Messages postés
10844
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
17
0
Merci
Hello,

tu n'as pas forcément intérêt à faire ça uniquement en SQL.
Il y a sûrement une solution (moi, j'essayerais en déclarant une variable SQL et en l'incrémentant chaque fois que tu rencontres un type_x contenant "moto"), mais là, on est dimanche matin, et je n'ai pas du tout envie de lancer mysql, créer la table, la remplir et essayer...désolé :-)
Mais je peux te donner une solution sûre mixant sql et php :
tu fais ta requête avec une clause WHERE 'moto' IN (type_1, type_2, type_3)
Puis tu parcours le jeu de résultat et avec un array_count_values() tu incrémentes une variable comptant tes motos.
Commenter la réponse de malalam
Messages postés
3
Date d'inscription
mercredi 30 janvier 2008
Statut
Membre
Dernière intervention
16 mars 2009
0
Merci
Merci malalam...mais j'ai du mal à mettre en place ta solution (je débute vraiment)... Peux-tu me détailler "Puis tu parcours le jeu de résultat et avec un array_count_values() tu incrémentes une variable comptant tes motos. "...
Merci
Commenter la réponse de vbessenay