PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 03-04-2012 15:11:38

debe
Membre
Inscription : 25-06-2009
Messages : 87

compter avec conditions

bonjour,
je voudrais compter des champs dont le contenu =0

je sais faire

$sql_compter = "SELECT COUNT(pa_1) AS pa1  FROM matable WHERE pa_1 = 0";
$req_compter = mysql_query($sql_compter) or die('Erreur SQL !<br>'.$sql_compter.'<br>'.mysql_error());
$att = mysql_fetch_assoc ($req_compter);

mais il me faut alors répéter 16 fois ce code car j'ai 16 champ pa (pa_1, pa_2, etc....)

comment les regrouper dans une seule requêtes ?

cela

$sql_compter = "
SELECT COUNT(pa_1) AS pa1_att FROM matable WHERE pa_1 = 0,  
COUNT(pa_2) AS pa2_att FROM matable  WHERE pa_2 = 0
";

ne fonctionne pas

Hors ligne

#2 03-04-2012 21:27:29

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : compter avec conditions

Saluton,
La première chose qui saute au yeux c'est que la modélisation de cette table de base de données est mal foutue.
Il ne doit pas y avoir de données tabulaires dans une table.
Après tout ne devient que gesticulations stupides et ridicules.


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#3 03-04-2012 21:50:41

Jc
Membre
Lieu : Zillisheim - Alsace
Inscription : 15-04-2010
Messages : 1 629
Site Web

Re : compter avec conditions

+1 big_smile


POO PHP+Ajax en MVC avec PDO et Bases de données épaisses  : What else?

Hors ligne

#4 04-04-2012 09:19:27

debe
Membre
Inscription : 25-06-2009
Messages : 87

Re : compter avec conditions

ok !! mais alors, comment j'aurais du faire ma table  : en faire 3 ?
en fait, j'ai nom/prenom/ etc .. puis si la personne est inscrite sur la liste 1, elle a 1 dans la champ pa_1

sachant qu'elle peut être inscrite sur plusieurs listes

est-ce que j'aurais du faire
1) une table avec les coordonnées de la personne ==> id_personne | nom | prenom etc...
2) une table avec la liste des pa  ==> id_inscription | type d'inscription
3) une table qui associe les deux ? mais alors, celle ci peut avoir 16 fois l'id_personne associée à chaque fois avec une id_inscription

est-ce que si je fais cela, je vais dans le bon sens ?

mais pour l'instant, les pa peuvent avoir deux valeur : 1 = inscrit 2 = en attente
comment gérer cela ?

Dernière modification par debe (04-04-2012 09:27:31)

Hors ligne

#5 04-04-2012 10:41:13

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : compter avec conditions

Tu es dans la bonne voie, l'info 1->inscrit ou 2->attente sera une propriété de la table d'association.
Dans cette table la clé primaire sera constituée par l'association des deux clés étrangères, cette association devant être UNIQUE pour chaque couple {personne, pa}


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#6 04-04-2012 10:50:16

debe
Membre
Inscription : 25-06-2009
Messages : 87

Re : compter avec conditions

ok, merci. je fais comme ça

affaire résolu ... si tout marche bien

Hors ligne

Pied de page des forums