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

vbessenay 3 Messages postés mercredi 30 janvier 2008Date d'inscription 16 mars 2009 Dernière intervention - 14 mars 2009 à 11:54 - Dernière réponse : bonapart002 45 Messages postés mercredi 17 décembre 2008Date d'inscription 9 février 2011 Dernière intervention
- 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
bonapart002 45 Messages postés mercredi 17 décembre 2008Date d'inscription 9 février 2011 Dernière intervention - 17 mars 2009 à 03:38
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;

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

Merci bonapart002 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 122 internautes ce mois-ci

Commenter la réponse de bonapart002
vbessenay 3 Messages postés mercredi 30 janvier 2008Date d'inscription 16 mars 2009 Dernière intervention - 14 mars 2009 à 11:59
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
malalam 10918 Messages postés lundi 24 février 2003Date d'inscription 2 mars 2010 Dernière intervention - 15 mars 2009 à 10:21
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
vbessenay 3 Messages postés mercredi 30 janvier 2008Date d'inscription 16 mars 2009 Dernière intervention - 16 mars 2009 à 08:35
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.