Affichage donnée mois
Hors ligneDunbar Le 08/12/2008 à 20:11 Profil de Dunbar Configuration de Dunbar

Bonjour,
Je récupére des données et les affiche par mois
Voici ma requete

SELECT
                                           COUNT(distinct lm.id_lm) AS totallm,
                                           DATE_FORMAT(lm.date_enreg, '%m') AS mois,
                                           lm.noeud,
                                           lm.date_enreg,
                                           nb.reference,
                                           nb.noeud_brabant,
                                           nb.nbr,
                                           COUNT(distinct dt.id_dt) AS totaldt,
                                           dt.noeud_dt,
                                           DATE_FORMAT(dt.date_enreg, '%m') AS  moisdt,
                                           COUNT(distinct lm.id_lm) / nb.nbr * 100 AS EN
                                      FROM ampli_lm AS lm, ampli_dt AS dt, noeud_brabant AS nb
                                      WHERE dt.noeud_dt = lm.noeud AND lm.noeud = nb.noeud_brabant
                                      GROUP BY mois,lm.noeud
                                      

Je récupére bien mes données mais si par exemple j'ai un encodage en novembre et d'autre en décembre il m'affiche le bon total d'encodage mais tout ds le mois de décembre  :?:
Donc en décembre il reprend aussi ceux de Novembre ???
et j'affiche els résultat comme ceci

//récup info LM
                         $lmsetptembre = (($row['mois']=='09')? $row['totallm'] : "").'</br>';
                         $lmoctobre    = (($row['mois']=='10')? $row['totallm'] : "").'</br>';
                         $lmnovembre   = (($row['mois']=='11')? $row['totallm'] : "").'</br>';
                         $lmdecembre   = (($row['mois']=='12')? $row['totallm'] : "").'</br>';
                         $lmjanvier    = (($row['mois']=='01')? $row['totallm'] : "").'</br>';
                         $lmfevrier    = (($row['mois']=='02')? $row['totallm'] : "").'</br>';
                         $lmmars       = (($row['mois']=='03')? $row['totallm'] : "").'</br>';
                         $lmavril      = (($row['mois']=='04')? $row['totallm'] : "").'</br>';
                         $lmmai        = (($row['mois']=='05')? $row['totallm'] : "").'</br>';
                         $lmjuin       = (($row['mois']=='06')? $row['totallm'] : "").'</br>';

Ou est mon erreur  :?:

D'avance merci
Hors ligneBrako Le 11/12/2008 à 12:14 Profil de Brako Configuration de Brako

bonjour,

J'ai peut être une piste, je crois le distinct de COUNT(distinct lm.id_lm) ne fait pas toujours bon ménage avec un GROUP BY

Par contre j'ai pas bien compris l'erreur d'affichage :
Tu as des enregistrements en novembre et en décembre, pour chaque mois tu veux le total d'enregistrements du mois, mais il affiche le total du mois de novembre et de celui de décembre dans $lmdecembre ?

si c'est le cas, le COUNT(distinct lm.id_lm) ne fait pas l'affaire, si la colonne id_lm et une clé en auto_increment tu peux modifier par COUNT(lm.id_lm).
--
Ce qui donne une éventuelle matière à suspecter une quelconque propagande ...
Vous avez résolu votre problème avec VIC ? Faites-le savoir sur les réseaux sociaux !
Vulgarisation-informatique.com
Cours en informatique & tutoriels