Commentaire par news

Répondre
sebing
le 16/10/2010 à 19:03
sebing
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)
.
Mon code ne marche pas, j'ai du mal a faire la jointure, voila mon code:<?php
//VARIABLES GENERALES
include("espace_membres/data.php");
global $dbserver;
global $dbdb;
global $dbuser;
global $dbpass;
//CONNEXION A LA BASE DE DONNEES
$base = @MYSQL_CONNECT ("$dbserver","$dbuser","$dbpass") or die ("<p>Erreur: impossible de communiquer avec la base de donn&eacute;es.<br>V&eacute;rifiez les donn&eacute;s du fichier <b>data.php</b>.</p>");
mysql_select_db("dbdb",$base);

// 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)
$sql = 'SELECT * FROM commentaires_news, news where commentaires_news.id_news = news.id ;';

// 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)
$req = mysql_query($sql) or die('Erreur SQL !<br />'.$sql.'<br />'.mysql_error());

// on compte le nombre de news stockées dans la base de données
$nb_news = mysql_num_rows($req);

if ($nb_news == 0) {
echo 'Aucune news enregistrée.';
}
else {
// si on a au moins une news, on l'affiche
while ($data = mysql_fetch_array($req)) {

// on décompose la date
sscanf($data['date'], "%4s-%2s-%2s %2s:%2s:%2s", $an, $mois, $jour, $heure, $min, $sec);

// on compte le nombre de news stockées dans la base de données
$nb_commentaires_news = mysql_num_rows($req);

if ($nb_commentaires_news == 0) {
echo 'Aucun commentaire enregistré.';
}
else {
// si on a au moins un commentaire, on l'affiche
while ($data = mysql_fetch_array($req)) {

// on affiche les résultats
echo'<span>'.htmlentities(trim($data['titre'])).':'.'<br>'.'</span>';
echo'<ul>'.htmlentities(trim($data['contenu'])).'<br>'.'</ul>';
?><h2>Commentaires</h2><?php
echo'<span>'.htmlentities(trim($data['auteur'])).'<br>'.'</span>';
echo'<span>'.htmlentities(trim($data['date_commentaire'])).'<br>'.'</span>';
echo'<ul>'.htmlentities(trim($data['commentaire'])).'<br>'.'</ul>';
}
}
}
}
?>

Merci
Bonne soirée

Seb
seb
sebing
le 17/10/2010 à 22:47
sebing
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
seb
moogli
le 17/10/2010 à 23:54
moogli
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.

@+
Il en faut peu pour être heureux !!!!!
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours