Example #1
0
    public function getOne($id)
    {
        $req = $this->pdo->prepare('
								SELECT q.*, ma.pseudo auteur, mm.pseudo modificateur
								FROM question q
								INNER JOIN membre ma ON ma.id_membre=q.id_auteur
								LEFT JOIN membre mm ON mm.id_membre=q.id_modificateur
								WHERE id_question = :id_question');
        $req->execute(array('id_question' => $id));
        if (($res = $req->fetch()) === false) {
            return false;
        }
        $clarifierDAO = new ClarifierDAO(BDD::getInstancePDO());
        $res->motsCles = $clarifierDAO->getAllForOneQuestion($id);
        $reponseDAO = new ReponseDAO(BDD::getInstancePDO());
        $res->reponses = $reponseDAO->getTreeForOneQuestion($id, NULL);
        return new Question(get_object_vars($res));
    }
Example #2
0
    public function getTreeForOneQuestion($id_question, $id_reponse_parent)
    {
        $res = array();
        $op = empty($id_reponse_parent) ? 'IS' : '=';
        $req = $this->pdo->prepare('SELECT r.*, ma.pseudo auteur, mm.pseudo modificateur
									FROM reponse r
									INNER JOIN membre ma ON ma.id_membre=r.id_auteur
									LEFT JOIN membre mm ON mm.id_membre=r.id_modificateur
									WHERE id_question = :id_question
										AND id_reponse_parent ' . $op . ' :id_reponse_parent');
        $req->execute(array('id_question' => $id_question, 'id_reponse_parent' => $id_reponse_parent));
        $reponseDAO = new ReponseDAO(BDD::getInstancePDO());
        foreach ($req->fetchAll() as $ligne) {
            $ligne->reponses = $reponseDAO->getTreeForOneQuestion($id_question, $ligne->id_reponse);
            $res[] = new Reponse(get_object_vars($ligne));
        }
        return $res;
    }