Bonjour
alors j'exposerais d'abord mon probleme et ensuite je montrerais ce que j'ai cru etre une solution mais comme ca marche pas...
J'affiche les billets de mon blog en page d'accueil et je veux rajouter a cote de commentaire le nombre de comm pour chaque article. J'imagine que c'est un truc classique mais j'ai pas trouve la soluce.
Alors j'ai donc 2 tables une nommee billet et une nommee commentaire qui contient id_billet dans le but de joindre les 2 tables pour l'affichage des comm avec chaque article et aussi pour le compte des comms de chaque article
mon probleme c'est que ca me renvoi des nombres de code identique a chaque article. J'ai essaye de joindre ou non, j'ai essaye COUNT en sql et count en php, j'ai essaye par WHERE ou par GROUP BY en fait j'essaye tout ce que je peux mais franchement j'arrive pas a compte de nombre de comm correspond a l'id_billet en cours.
Voila mon dernier code pour tenter d'y parvenir
c'est surement une heresie mais j'en ai essaye des differents, j'ai essaye tout le peu que j'ai pu apprendre et essaye de comprendre dans d'autre post.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39 <?php try { $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION; $bdd = new PDO('mysql:host=localhost;dbname=citations', 'root', '', $pdo_options); $req = $bdd->query('SELECT id, titre, categorie, article, DATE_FORMAT(date_art, \'%d/%m/%Y à %Hh%imin\') AS date_art_fr FROM billet ORDER BY id DESC LIMIT 0, 7 '); $donnees = $req->fetch(); $req2= $bdd->query(' SELECT b.id as id_art, COUNT(commentaire.id_billet) as total_com FROM billet b LEFT JOIN commentaire ON commentaire.id_billet = '.$donnees['id'].' GROUP BY '.$donnees['id'].' = commentaire.id_billet '); $nb_comm = $req2->fetchAll(); while ($donnees = $req->fetch()) { ?> <div class="articles"> <span id="titre"><a href="article.php?id=<?php echo $donnees['id'] ?>"><?php echo $donnees['titre']; ?></a></span><br /> <span id="date"><?php echo $donnees['date_art_fr']; ?><br /> Catégorie : </span><span id="categorie"><?php echo $donnees['categorie']; ?></span> <div id="article"><?php echo nl2br($donnees['article']); ?></div> <div id="comm"> <a href="article.php?id=<?php echo $donnees['id'] ?>"> <?php echo 'commentaire ('.count('commentaire.id_billet = '.$donnees['id'].'').')'; ?> </a> </div> </div> <?php
qui pourra m'aider et m'expliquer ?
Merci beaucoup
Partager