Commentaire par news

Répondre
sebing
sebing
Déconnecté
seb
Bonsoir,

J'essaye d'afficher les commentaires de mes news.
J'ai deux tables: news et commentaires_news.
Elle peuvent etre relié par id(news) et id_news(commentaires_news)
  1. .
  2. Mon code ne marche pas, j'ai du mal a faire la jointure, voila mon code:<?php
  3.          //VARIABLES GENERALES
  4. include("espace_membres/data.php");  
  5. global $dbserver;  
  6. global $dbdb;  
  7. global $dbuser;  
  8. global $dbpass;  
  9. //CONNEXION A LA BASE DE DONNEES
  10. $base = @MYSQL_CONNECT ("$dbserver","$dbuser","$dbpass") or die ("<p>Erreur: impossible de communiquer avec la base de données.<br>Vérifiez les donnés du fichier <b>data.php</b>.</p>");  
  11. mysql_select_db("dbdb",$base);  
  12.  
  13. // lancement de la requête. on sélectionne les news que l'on va ordonner suivant l'ordre "inverse" des dates (de la plus récente à la plus vieille : DESC) tout en ne sélectionnant que le nombre voulu de news à afficher (LIMIT)
  14. $sql = 'SELECT * FROM commentaires_news, news where commentaires_news.id_news = news.id ;';  
  15.  
  16. // on lance la requête (mysql_query) et on impose un message d'erreur si la requête ne se passe pas bien (or die)
  17. $req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());  
  18.  
  19. // on compte le nombre de news stockées dans la base de données
  20. $nb_news = mysql_num_rows($req);  
  21.  
  22. if ($nb_news == 0) {  
  23. echo 'Aucune news enregistrée.';  
  24. }  
  25. else {  
  26. // si on a au moins une news, on l'affiche
  27. while ($data = mysql_fetch_array($req)) {  
  28.  
  29. // on décompose la date
  30. sscanf($data['date'], "%4s-%2s-%2s %2s:%2s:%2s", $an, $mois, $jour, $heure, $min, $sec); 
  31.    
  32. // on compte le nombre de news stockées dans la base de données
  33. $nb_commentaires_news = mysql_num_rows($req);  
  34.  
  35. if ($nb_commentaires_news == 0) {  
  36. echo 'Aucun commentaire enregistré.';  
  37. }  
  38. else {  
  39. // si on a au moins un commentaire, on l'affiche
  40. while ($data = mysql_fetch_array($req)) { 
  41.    
  42. // on affiche les résultats
  43. echo'<span>'.htmlentities(trim($data['titre'])).':'.'<br>'.'</span>'; 
  44.    echo'<ul>'.htmlentities(trim($data['contenu'])).'<br>'.'</ul>'; 
  45.       ?><h2>Commentaires</h2><?php
  46.    echo'<span>'.htmlentities(trim($data['auteur'])).'<br>'.'</span>'; 
  47.    echo'<span>'.htmlentities(trim($data['date_commentaire'])).'<br>'.'</span>'; 
  48.    echo'<ul>'.htmlentities(trim($data['commentaire'])).'<br>'.'</ul>';  
  49. }  
  50. }  
  51. }  
  52. }  
  53. ?>       

Merci
Bonne soirée

Seb
LA GLOBULE
LA GLOBULE
Déconnecté
111 111 111 x 111 111 111 = 12 345 678 987 654 321
Ta jointure est bonne.
Où se situe ton problème ?
sebing
sebing
Déconnecté
seb
J'ai déjà vu que le code était pas bon car j'ai fais deux fois le même while.
J'ai changé d'idée. Mais maintenant je cherche comment faire en sorte de mettre qu'une partie de la news et mettre lire la suit avec le lien sur toutes la news.

Merci

Seb
moogli
moogli
Déconnecté
Il en faut peu pour être heureux !!!!!
Salut,

Regarde dans la. Fog substr et wordwrap.

Pour ton 1er code :
Pour la date si ton sscanf sert a pouvoir la formater je te conseil de regarder la de la fonction mysql date_format.
Pour la requete sans l'etoile c'est mieux.

@+
Répondre
Accès rapide :

Remonter Remonter
L'éditeur javascript - CSS - Gentoo - Tutoriaux PHP - Tutoriels PHP - Bretagne - php - Moto - Kit graphique