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

Messages postés
3
Date d'inscription
mercredi 30 janvier 2008
Dernière intervention
16 mars 2009
- - Dernière réponse : bonapart002
Messages postés
45
Date d'inscription
mercredi 17 décembre 2008
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 

Votre réponse

4 réponses

Meilleure réponse
Messages postés
45
Date d'inscription
mercredi 17 décembre 2008
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 97 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
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
10918
Date d'inscription
lundi 24 février 2003
Dernière intervention
2 mars 2010
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
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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.