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

PHP & Base de données Discussion :

probléme de récupération des données


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Femme Profil pro
    Architecte de système d'information
    Inscrit en
    Février 2012
    Messages
    404
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2012
    Messages : 404
    Par défaut probléme de récupération des données
    Bonjour,

    je dois affiché les réponses des questions par chapitre selon le projet. Donc j'ai un clé étrangère du chapitre (id_chapitre) dans la table Questions , car les chapitres peuvent avoir plusieurs questions et chaque question doit avoir seulement un chapitre.
    De plus, les réponses aux questions dépendent de la question et du projet (1..*--> 1..*) donc j'ai crée la relation "ReponseSquestion" entre ces deux tables.
    La table "ReponseSquestion" contient les clés étrangères: de la table "projets" -> id_projet et de la table "Questions" -> questions_id
    Les réponses aux questions doivent être unique par projet.

    dans ma page vue je dois affiché les questions en présentant son réponse.

    Donc, mon probléme que j'arrive pas a obtenir la bonne requête pour récupérer ces informations par projet, merci de me corriger.



    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     
    // les ids sont bien récupéré
    $idproject= $_SESSION['idpro']
    $idchapitre =$_SESSION['idchp']
     
             $query = $this->_em->createQuery('SELECT * 
             FROM ReponseSquestion res, Chapitres chp, Questions ques
             WHERE res.id_projet = :id and chp.id =:IdChapitre and ques.id = res.questions_id  
            GROUP BY res.id_projet ');
     
             $query->setParameters(array('id'=> $idproject, 'IdChapitre' => $idchapitre)) ; 
     
            $resultat= $query->getArrayResult();
    Voilà la résultat de var_dump
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
      var_dump($resultat);  
     
    array(1) { [0]=> array(16) { ["res_id"]=> int(6) ["res_NivConformite"]=> float(1) ["res_Niv_EnPourcentage"]=> float(25) ["res_preuves"]=> string(13) "
    salurt
     
    " ["res_dateReponse"]=> object(DateTime)#414 (3) { ["date"]=> string(19) "2016-08-13 02:05:48" ["timezone_type"]=> int(3) ["timezone"]=> string(13) "Europe/Berlin" } ["chp_id"]=> int(24) ["chp_nom_chapitre"]=> string(5) "qsqsq" ["chp_prefixe"]=> string(3) "A.6" ["chp_description"]=> string(14) "
    sqsqsqs
     
    " ["chp_date_ajout"]=> object(DateTime)#446 (3) { ["date"]=> string(19) "2016-08-01 22:08:54" ["timezone_type"]=> int(3) ["timezone"]=> string(13) "Europe/Berlin" } ["chp_date_modification"]=> NULL ["ques_id"]=> int(10) ["ques_clause"]=> string(3) "sds" ["ques_question"]=> string(4) "dsds" ["ques_date_ajoutQ"]=> object(DateTime)#444 (3) { ["date"]=> string(19) "2016-08-01 09:00:03" ["timezone_type"]=> int(3) ["timezone"]=> string(13) "Europe/Berlin" } ["ques_date_modificationQ"]=> NULL } }
    Mon probléme que je dois afficher tous les questions du chapitre même ci n'est pas une réponse dans la table "ReponseSquestion". En résume, que je doit affiché les questions qui ont des réponses et qui n'ont pas des réponses.

  2. #2
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 506
    Par défaut
    Bonjour et une requête avec les bonnes jointures

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    SELECT * 
    FROM ReponseSquestion res
    LEFT JOIN Chapitres chp
        ON chp.id =:IdChapitre  -- ici il faudrait la jointure res et chp 
    LEFT JOIN Questions ques
        ON ques.id = res.questions_id 
    WHERE res.id_projet = :id
    GROUP BY res.id_projet

  3. #3
    Membre éclairé
    Femme Profil pro
    Architecte de système d'information
    Inscrit en
    Février 2012
    Messages
    404
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d'information
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2012
    Messages : 404
    Par défaut
    Citation Envoyé par MaitrePylos Voir le message
    Bonjour et une requête avec les bonnes jointures

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    SELECT * 
    FROM ReponseSquestion res
    LEFT JOIN Chapitres chp
        ON chp.id =:IdChapitre  -- ici il faudrait la jointure res et chp 
    LEFT JOIN Questions ques
        ON ques.id = res.questions_id 
    WHERE res.id_projet = :id
    GROUP BY res.id_projet
    Merci pour ta réponse et de m'accorder ton attention

    Votre correction permet d'afficher les même questions qui ont la réponse pour tous les chapitres et il écrase le reste des questions (n'ayant pas des réponses). C'est-a-dire, par exemple j'ai dans mon table "ReponseSquestion" une seule question répondu pour le chapitre N°5 et le projet N°4 (le regroupement par projet ça marche). Donc cette question elle est affiché avec son réponse pour tous les chapitres mais j'ai pas besoin de ça (j'ai des questions différentes par chapitre que ne se répètent pas ),. De plus, pour chaque chapitre j'ai des questions qui ont des réponses et d'autres non,dans ta requête ne seront pas affiché.

    Merci encore de m'aider a trouver la bonne solution pour afficher dans la même requête les questions qui ont des réponses et qui n'ayant pas réponses par chapitre et aussi par projet.

Discussions similaires

  1. ADO - Problème de récupération des données
    Par Kloun dans le forum VBA Access
    Réponses: 3
    Dernier message: 19/09/2007, 11h25
  2. [MySQL] problème de récupération des données d'une requête
    Par maniaco_jazz dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 19/02/2007, 12h12
  3. [MySQL] Problème de récupération des données dans une fonction
    Par highman dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 26/10/2006, 20h04
  4. Réponses: 31
    Dernier message: 27/07/2006, 13h51
  5. Réponses: 22
    Dernier message: 05/07/2006, 15h21

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