Comment compté le nombre de commentaire et afficher.

Résolu
flo39400 Messages postés 596 Date d'inscription   Statut Membre Dernière intervention   -  
flo39400 Messages postés 596 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,


Voila j'ai plusieurs articles tous est stocker dans la base de donnée dans une table.
J'ai des liens pour chaque articles par rapport a leurs ID.
Les commentaires sont tous placée dans un table: "commentaires".

Donc ce lien est généré pour chaque article :
<a href="afficher_com.php?id=<?php echo $donnees['news_id']; ?>" onclick="window.open(this.href); return false;">Commentaire</a>


J'aimerai afficher le nombre de commentaire et ajouter un S a commentaire quand sais supérieur a 1.


Merci d'avance.


A voir également:

1 réponse

jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour,

Tu peux éventuellement, dans ta requête ajouter un COUNT
Ou faire une seconde requête qui te donne le count
Ou, si tu fais du PDO, utiliser un FETCHALL puis un COUNT (php ce coup ci) dessus
0
flo39400 Messages postés 596 Date d'inscription   Statut Membre Dernière intervention   21
 
Oui je veux bien mais je sais pas comment formuler sa.

J'ai un message d'erreur:
Parse error: syntax error, unexpected '' (T_ENCAPSED_AND_WHITESPACE), expecting identifier (T_STRING) or variable (T_VARIABLE) or number (T_NUM_STRING)

Mon code:

$totalcommentaireReqID = $bdd->query("SELECT COUNT(*) FROM commentaires WHERE id_article = '$donnees['news_id']'");
$totalcommentaireID = $totalcommentaireReqID->fetchAll();
0
Utilisateur anonyme > flo39400 Messages postés 596 Date d'inscription   Statut Membre Dernière intervention  
 
L'erreur vient d'une mauvaise utilisation entre les simples et doubles quotes, car tu ouvres des simples quotes pour ton id d'article, mais tu les utilises aussi pour ton index dans ton tableau, je te conseille c'est de stocker ton id avant dans une simple variable.

$id_article = $donnees['news_id'];
$totalcommentaireReqID = $bdd->query("SELECT COUNT(*) FROM commentaires WHERE id_article = '$id_article'");
$totalcommentaireID = $totalcommentaireReqID->fetchAll();
0
flo39400 Messages postés 596 Date d'inscription   Statut Membre Dernière intervention   21
 
J'avance mais le n'arrive pas a afficher la valeur.

<?php 
   $articles = $bdd->query('SELECT * FROM news_tab_articles WHERE (news_publier = 1) ORDER BY news_id DESC LIMIT '.$depart.','.$articlesParPage);
   while($donnees = $articles->fetch(PDO::FETCH_ASSOC)) 
   { 
   ?>
   <p class="article_text"><?= $donnees['news_titre'] ?></p>
   
   <?= $donnees['news_contenu'] ?>
   <?php
   $id_article = $donnees['news_id'];
   $totalcommentaireReqID = $bdd->query("SELECT COUNT(*) FROM commentaires WHERE id_article = '$id_article'");
   $totalcommentaireID = $totalcommentaireReqID->fetchAll();
   ?>
   
   <div class="com">
   <a href="afficher_com.php?id=<?php echo $donnees['news_id']; ?>" onclick="window.open(this.href); return false;"><?php echo $totalcommentaireID; ?> Commentaire</a> 
   </div>
<?php 
   } 
   $articles->closeCursor();
   ?>




Mon <?php echo $totalcommentaireID; ?> qui ne vas pas...
0
Utilisateur anonyme > flo39400 Messages postés 596 Date d'inscription   Statut Membre Dernière intervention  
 
Et si tu vais un var_dump de $totalcommentaireID tu obtiens quoi?

var_dump($totalcommentaireID);
0
flo39400 Messages postés 596 Date d'inscription   Statut Membre Dernière intervention   21
 
Voici:

C:\wamp64\www\2017\baspage.php:43:
array (size=1)
0 =>
array (size=1)
'COUNT(*)' => string '3' (length=1)
0