J'aimerais afficher le nombre de commentaires liés à un article

zakou3 Messages postés 15 Statut Membre -  
zakou3 Messages postés 15 Statut Membre -
Bonjour,

Aidez moi !
j'écris le code suivant pour afficher le nombre de commentaires d'un article mais on m'affiche cette erreur:
Fatal error: Call to a member function fetch() on a non-object in C:\wamp\www\bigra\afficher.php on line 77

<?php

<?php
try
 { $bdd = new PDO('mysql:host=localhost;dbname=blog','root','');
 }
 catch (Exception $e)
 {
  die('Erreur:' .$e->getMessage());
 }

?>;

$id_get = $bdd->query('SELECT id_article FROM articles ');

$idart = $id_get->fetch();

$nb_comm = $bdd->query('SELECT COUNT(*) as total_art FROM commentaires WHERE id_article = '.$idart.'');

$don=$nb_comm->fetch();

    echo $don['total_art'];
 ?>



EDIT : Ajout des balises de code
Merci de bien vouloir utiliser la coloration syntaxique (les balises de code) lorsque tu postes du code sur le forum.
Explications disponibles ici :
https://codes-sources.commentcamarche.net/faq/10686-le-nouveau-codes-sources-comment-ca-marche#balises-code

3 réponses

  1. nael1 Messages postés 1036 Date d'inscription   Statut Membre Dernière intervention   155
     
    Salut,
    Mets nous ton code en pastebin qu'on puisse avoir quelque chose de clean et avec des lignes numérotées ;)
    0
  2. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 833
     
    Bonjour,

    tu avais un souci dans la syntaxe de ta requête
    $sql = "SELECT COUNT(*) as total_art FROM commentaires WHERE id_article = '".$idart."'";
    $nb_comm = $bdd->query($sql);
    $don=$nb_comm->fetch();
    


    EDIT

    Cordialement,
    Jordane
    0
    1. zakou3 Messages postés 15 Statut Membre
       
      Merci jordane maintenant ça s'affiche mais le problème est que il affiche 0 commentaires pour tous les articles.
      Pardon Aide moi à résoudre ce problème.
      0
      1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 833 > zakou3 Messages postés 15 Statut Membre
         
        Tu as testé ta requête en direct dans ta BDD ?
        0
      2. zakou3 Messages postés 15 Statut Membre > jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention  
         
        Non
        0
  3. mpmp93 Messages postés 2931 Date d'inscription   Statut Membre Dernière intervention   1 343
     
    Bonsoir,

    Votre requête réécritre:

    $nb_comm = $bdd->query("SELECT COUNT(1) as total_art FROM commentaires WHERE id_article = '$idart' ");


    Le COUNT(1) est 100 fois plus rapide que COUNT(*)

    A+
    0
    1. zakou3 Messages postés 15 Statut Membre
       
      je l'ai fait mais ça affiche 0 commentaires pour tous les articles
      Pardon aide moi à résoudre ce problème.
      0