Résolu [PHP] Count();

Solutions (4)
Tags :
  • Selection
  • Php
  • Select
  • MySQL
  • Programmation
|
Bonjour,

J'ai un petit souci avec une requête sql:

mon code:
  1. <h3>Dernières actualités</h3>
  2. <div class="block">
  3.  
  4. <?php
  5.  
  6. require ('config.php');
  7. mysql_connect ("$host", "$user", "$pass") or die (mysql_error()); // Connexion à la base de données
  8. mysql_select_db ("$bdd") or die (mysql_error()); // Sélection de la base de donnée
  9.  
  10. $req = mysql_query ("SELECT * FROM news ORDER BY news_date DESC LIMIT 0, 5"); // Sélection des 5 dernières news
  11. while ($rep = mysql_fetch_array($req)) {
  12. $news_serie_id = $rep['news_serie_id']; // Récupération de l'id de série
  13. $news_id = $rep['news_id']; // Récupération de l'id de la news
  14.  
  15. $req2 = mysql_query ("SELECT serie_nom FROM serie WHERE serie_id = '$news_serie_id'"); // Sélection du nom de la série
  16. while ($rep2 = mysql_fetch_array($req2)) {
  17. $serie_nom = $rep2['serie_nom'];
  18. }
  19.  
  20. $req3 = mysql_query ("SELECT COUNT(*) AS nbr_commentaire FROM commentaire_news WHERE commentaire_news_id_news = '$news_id'");
  21. while ($rep3 = mysql_fetch_array($req3)) {
  22. $nbr_commentaire = $rep3['nbr_commentaire'];
  23. }
  24.  
  25. mysql_close(); // Fermeture de la connexion à la base de données
  26.  
  27. echo "
  28. <div class=\"liste_actu\">
  29. <p><b>[$serie_nom] <a href=\"?page=News&news_id=".$rep['news_id']."\">".$rep['news_titre']."</a></b> (<b>$nbr_commentaire</b>) - ".$rep['news_date']."</p>
  30. <p>".$rep['news_description]."</p>
  31. </div>
  32. ";
  33. }
  34. ?>
  35. <p><a href="?page=News">Voir toutes les actualités</a></p>
  36. </div>


Le soucis c'est que $nbr_commentaire me donne toujours 0 sur toutes les news j'ai bon retourner le problème dans tout les sens, je ne trouve pas de solution...

Edit: A noter que 0 étant le nombre de commentaire de la première news, si je place une news qui posséde 3 commentaires en premier toute les news auront 3 commentaire!
Contenus similaires
Meilleure solution
partage
, Modérateur |
Salut,

J'avoue que je ne vois pas comme ça.
Mais déjà, je te conseillerai de supprimer tes while quand tu n'attends qu'une seule valeur. Ca donne l'impression de faire une boucle alors que tu n'as qu'un seul résultat, remplace le while par un if plutôt, lignes 16 et 21.
  • Commenter cette solution |
Score
0
òh
òi
|
Meilleure réponse sélectionnée par allstar27.
  • Commenter cette réponse |
Score
0
òh
òi
|
J'ai trouvé mon erreur =)

En fait j'ai fais mysql_close() avant la fin de la première boucle...

Comme t'es le seul à avoir répondu je te met meilleur rep ;) 
  • Commenter cette réponse |
Score
0
òh
òi
|
Oui c'est parce que si je faisais pas une boucle il ne me sortait qu'un résultat hors de la boucle précédente, mais c'est vrai qu'un if suffit...

Pour mon problème, on dirait qu'il ne veut pas boucler sur SELECT COUNT il ne me sors que le premier résultat de la boucle générale =(
  • Commenter cette réponse |

Ce n'est pas ce que vous cherchiez ?

Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS