Partage
  • Partager sur Facebook
  • Partager sur Twitter

Afficher le nombre de commentaires par article

Jointures de table

    18 janvier 2018 à 17:40:57

    Bonjour à tous,

    Je vous envoie ce message car, dans le cadre du projet 3, j'aimerais afficher, dans le back-end, le nombre de commentaires par article.

    J'aimerais afficher ce nombre de commentaires dans la vue "Chapters" qui présente tous les articles. Or, j'ai ici un bug : actuellement s'affiche le nombre total de commentaires sur chaque ligne et non le nombre de commentaires par post. 

    Voici ce que j'ai indiqué dans le model :

     public function getNumberCommentsbychapter()
        {
            $sql = 'SELECT c.id, count(*) as nbCommentsChp from comment as c INNER JOIN post as p ON p.id = c.post_id ';
            $result = $this->executeRequest($sql);
            $line = $result->fetch(); // Le résultat comporte toujours une ligne.
            return $line['nbCommentsChp'];
        }
    }

    J'ai essayé de faire une jointure dans la table "post" et la table "comment". En lui disant, "sélectionne les id dans la table "comment", compte-les, et sache que dans la table post "id" est égale à "post_id" dans la table "comment".

    Voici ce que j'ai indiqué dans le controller :

    public function chapters()
        {
            $posts = $this->post->getPosts(); // va chercher la méthode getPosts dans le model post.php l.20
            $nbCommentsChp = $this->comment->getNumberCommentsbychapter();
            $this->buildView(array('posts' => $posts, 'nbCommentsChp'=> $nbCommentsChp));
        }
    

    Savez-vous où j'ai bien pu me tromper ?

    Je vous remercie par avance pour votre aide.

    Vanessa


    • Partager sur Facebook
    • Partager sur Twitter

    Vanessa Asse

    Afficher le nombre de commentaires par article

    × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
    × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
    • Editeur
    • Markdown