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

zakou3 Messages postés 10 Date d'inscription   Statut Membre Dernière intervention   -  
zakou3 Messages postés 10 Date d'inscription   Statut Membre Dernière intervention   -
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
A voir également:

3 réponses

nael1 Messages postés 1036 Date d'inscription   Statut Membre Dernière intervention   150
 
Salut,
Mets nous ton code en pastebin qu'on puisse avoir quelque chose de clean et avec des lignes numérotées ;)
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
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
zakou3 Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
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
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752 > zakou3 Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
Tu as testé ta requête en direct dans ta BDD ?
0
zakou3 Messages postés 10 Date d'inscription   Statut Membre Dernière intervention   > jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention  
 
Non
0
mpmp93 Messages postés 6648 Date d'inscription   Statut Membre Dernière intervention   1 340
 
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
zakou3 Messages postés 10 Date d'inscription   Statut Membre Dernière intervention  
 
je l'ai fait mais ça affiche 0 commentaires pour tous les articles
Pardon aide moi à résoudre ce problème.
0