IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Requêtes MySQL Discussion :

PB requête avec AVG


Sujet :

Requêtes MySQL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    196
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 196
    Par défaut PB requête avec AVG
    Bonjour,

    J'ai une table stages contenant des stages avec leurs dates de début et de fin.
    1) Je remplis un tableau ($tab[$n]) avec les stages qui se terminent durant une période choisie par l'utilisateur.
    2) J'affiche la moyenne des taux de satisfaction des clients pour chacun de ces stages (et pour chaque question posée (id_question)).
    En global cela fonctionne (si je ne filtre pas les stages mais fais les moyennes sur tous les les stages existants) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT AVG(taux_reponse) as avgTR, AVG(nb_TS) as avgTS,
      AVG(nb_PS) as avgpS, AVG(nb_PI) as avgPI, AVG(nb_TI) as avgTI, 
      AVG(nb_SO) as avgSO, AVG(moyenne) as avgMY, 
    FROM reponses 
    WHERE reponses.id_question = ".$coef["id_question"]
    Dès que j'essaie de filtrer les stages, je me fais gronder par mySQL :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    SELECT AVG(taux_reponse) as avgTR, AVG(nb_TS) as avgTS, 
      AVG(nb_PS) as avgpS, AVG(nb_PI) as avgPI, AVG(nb_TI) as avgTI, 
      AVG(nb_SO) as avgSO, AVG(moyenne) as avgMY, 
    FROM reponses 
    WHERE reponses.id_question = ".$coef["id_question"] ." AND reponses.id_stage = ".$tab[$n]
    ou :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    $reqrep = "SELECT AVG(taux_reponse) as avgTR, AVG(nb_TS) as avgTS, 
      AVG(nb_PS) as avgpS, AVG(nb_PI) as avgPI, AVG(nb_TI) as avgTI, 
      AVG(nb_SO) as avgSO, AVG(moyenne) as avgMY, 
    FROM reponses WHERE reponses.id_question = ".$coef["id_question"];
    $resrep = mysql_query($reqrep);
    while ($rep = mysql_fetch_array($resrep))  { 
    if ($rep["id_stage"]==$tab[$n]) {
    $worksheet->write($lig, 2, intval($rep["avgTR"]), $cellule);
    $worksheet->write($lig, 3, intval($rep["avgTS"]), $cellule);
    $worksheet->write($lig, 4, intval($rep["avgPS"]), $cellule);
    $worksheet->write($lig, 5, intval($rep["avgPI"]), $cellule);
    $worksheet->write($lig, 6, intval($rep["avgTI"]), $cellule);
    $worksheet->write($lig, 7, intval($rep["avgSO"]), $cellule);
    $worksheet->write($lig, 8, intval($rep["avgMY"]), $cellule);
    }
    $n++;
    }
    $lig++;
    }
    - le champ id_stage existe dans ma table reponses et est bien orthographié
    - $tab[$n] contient bien les valeurs souhaitées
    - j'ai essayé de faire 2 requêtes mais je n'ai pas réussi (j'ai pu me tromper sur ce point-là)

    NB. Je génère un fichier Excel

  2. #2
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Par défaut
    et il te gronde en te disant quoi?

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    196
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 196
    Par défaut
    Ben je voulais pas le mettre mais si tu insistes...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in f:\intranet\serfaeval\docs\synthid.php on line 83
     
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in f:\intranet\serfaeval\docs\synthid.php on line 106
     
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in f:\intranet\serfaeval\docs\synthid.php on line 106
     
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in f:\intranet\serfaeval\docs\synthid.php on line 106
     
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in f:\intranet\serfaeval\docs\synthid.php on line 106
     
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in f:\intranet\serfaeval\docs\synthid.php on line 106
     
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in f:\intranet\serfaeval\docs\synthid.php on line 106
     
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in f:\intranet\serfaeval\docs\synthid.php on line 106
     
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in f:\intranet\serfaeval\docs\synthid.php on line 106
     
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in f:\intranet\serfaeval\docs\synthid.php on line 106
     
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in f:\intranet\serfaeval\docs\synthid.php on line 106
     
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in f:\intranet\serfaeval\docs\synthid.php on line 106
     
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in f:\intranet\serfaeval\docs\synthid.php on line 106
     
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in f:\intranet\serfaeval\docs\synthid.php on line 106
     
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in f:\intranet\serfaeval\docs\synthid.php on line 106
     
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in f:\intranet\serfaeval\docs\synthid.php on line 106
     
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in f:\intranet\serfaeval\docs\synthid.php on line 106
     
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in f:\intranet\serfaeval\docs\synthid.php on line 106
     
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in f:\intranet\serfaeval\docs\synthid.php on line 106
     
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in f:\intranet\serfaeval\docs\synthid.php on line 106
     
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in f:\intranet\serfaeval\docs\synthid.php on line 106
     
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in f:\intranet\serfaeval\docs\synthid.php on line 106
     
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in f:\intranet\serfaeval\docs\synthid.php on line 106
     
    Warning: Cannot add header information - headers already sent by (output started at f:\intranet\serfaeval\docs\synthid.php:83) in f:\intranet\serfaeval\docs\synthid.php on line 127
     
    Warning: Cannot add header information - headers already sent by (output started at f:\intranet\serfaeval\docs\synthid.php:83) in f:\intranet\serfaeval\docs\synthid.php on line 128
    ÐÏࡱá>þÿ þÿÿÿþÿÿÿ ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ l ÉSynthèse globaleBä=¼%r8X"1ÈÿArial1ÈÿArial1ÈÿArial1ÈÿArial1ÈÿArial1È Arial1@¼Arial1Ü ¼Arial1ȐArialàõÿ @À àõÿ @À àõÿ @À àõÿ @À àõÿ @À àõÿ @À àõÿ @À àõÿ @À àõÿ @À àõÿ @À àõÿ @À àõÿ @À àõÿ @À àõÿ @À àõÿ @À à @À à HÀ à"HÀ à*X à  HÀ à  hÀ @I“€ÿ’â8ÿÿÿÿÿÿÿÿÿÿÿÿ€€€€€€€€€ÀÀÀ€€€™™ÿ™3fÿÿÌÌÿÿffÿ€€fÌÌÌÿ€ÿÿÿÿÿÿ€€€€€ÿÌÿÌÿÿÌÿÌÿÿ™™Ìÿÿ™ÌÌ™ÿÿÌ™3fÿ3ÌÌ™ÌÿÌÿ™ÿfff™–––3f3™f333™3™3f33™333…ÓSynthèse globale l ÉU} ¸} ¸2} ¸} ¸ *+‚Á¡"dXXà?à? ( Synthèse globale des évaluationsPériode du au  n°Intitulé de la question ++ + - -- Sans opinion Taux réponseTaux satisfactionð?Information préalable@Opération d'inscription@Accueil@Horaires des séances @* "Choix de la période de déroulement @ Locaux mis à disposition @' Equipements (travaux pratiques)  @. &Matériel audio-visuel (éventuellement) "@ Séjour et restauration$@B:Appréciation globale de l’organisation matérielle du stage&@"Respect du contenu annoncé(@'Durée pour traiter le programme*@Niveau de la formation,@Explications théoriques.@Exercices pratiques0@!Documentation pédagogique1@)!Méthodes pédagogiques (animation)2@&Coordination des interventions3@5-Appréciation globale des aspects pédagogiques4@0(Satisfaction globale de cet enseignement5@0(Efficacité du point de vue professionnel6@,$Efficacité du point de vue personnel)ð?(ð?'è?&è?„ƒ> ¶ Root EntryÿÿÿÿÿÿÿÿþÿÿÿBook ÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿþÿÿÿþÿÿÿýÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿÿ
    Fatal error: Call to undefined function: deconnexion() in f:\intranet\serfaeval\docs\synthid.php on line 133
    C'est dès que je rajoute la clause de test sur id_stage

  4. #4
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Par défaut
    ca se sont des erreurs php et pas mysql

    enfin, si tu fais un echo de ta requete, qu'obtiens tu?

  5. #5
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    Octobre 2006
    Messages
    6 292
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : Octobre 2006
    Messages : 6 292
    Par défaut
    il faut récupérer le message d'erreur de MySQL. Pour cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ...
    $resrep = mysql_query($reqrep) or die(mysql_error()) ;
    ...

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    196
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 196
    Par défaut
    Citation Envoyé par Antoun Voir le message
    il faut récupérer le message d'erreur de MySQL. Pour cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ...
    $resrep = mysql_query($reqrep) or die(mysql_error()) ;
    ...
    Pardon, le voici :
    You have an error in your SQL syntax near 'FROM reponses WHERE reponses.id_question = 1 AND reponses.id_stage = 66524' at line 1
    Et l'enregistrement existe :
    id_stage id_module id_question taux_reponse nb_TS nb_PS nb_PI nb_TI nb_SO moyenne
    66524 1 1 100 4 2 0 0 0 100

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2002
    Messages
    196
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2002
    Messages : 196
    Par défaut
    Citation Envoyé par Cybher Voir le message
    ca se sont des erreurs php et pas mysql

    enfin, si tu fais un echo de ta requete, qu'obtiens tu?
    Ceci :
    SELECT AVG(taux_reponse) as avgTR, AVG(nb_TS) as avgTS, AVG(nb_PS) as avgPS, AVG(nb_PI) as avgPI, AVG(nb_TI) as avgTI, AVG(nb_SO) as avgSO, AVG(moyenne) as avgMY, FROM reponses WHERE reponses.id_question = 1 AND reponses.id_stage = 66524
    Et la requête comme ceci fonctionne :
    SELECT AVG(taux_reponse) as avgTR, AVG(nb_TS) as avgTS, AVG(nb_PS) as avgPS, AVG(nb_PI) as avgPI, AVG(nb_TI) as avgTI, AVG(nb_SO) as avgSO, AVG(moyenne) as avgMY, FROM reponses WHERE reponses.id_question = 1
    C'est vraiment le
    AND reponses.id_stage = 66524
    qui fait tout rater !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 4
    Dernier message: 19/09/2014, 18h07
  2. Requète avec NOT EXISTS
    Par missllyss dans le forum SQL
    Réponses: 2
    Dernier message: 23/09/2003, 16h20
  3. Requête avec l'expression Like
    Par Mvu dans le forum ASP
    Réponses: 3
    Dernier message: 02/09/2003, 10h39
  4. problème de requête avec jointures
    Par tinhat dans le forum Requêtes
    Réponses: 7
    Dernier message: 11/08/2003, 11h33
  5. Problème dans requête avec count()
    Par BadFox dans le forum Requêtes
    Réponses: 3
    Dernier message: 08/07/2003, 19h02

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo