Probleme script commentaire avec mysql_fetch_assoc
Posté : 11 mai 2007, 12:48
Bonjour a tous,
J'essaye de faire depuis quelques jours un script de news avec commentaires etc mais je suis actuellement bloqué sur les commentaires.
J'ai cette erreur : Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home.5/p/z/y/pzykoz/www/commentaires.php on line 57
Ne cherchez pas la ligne c'est celle avec la boucle while dans les commentaires mais je ne comprend pas. Avec le or die ca me dit qu'il y a une erreur de syntaxe sql mais je ne la vois pas.
J'espère que vous pourrez m'aider. Merci
J'essaye de faire depuis quelques jours un script de news avec commentaires etc mais je suis actuellement bloqué sur les commentaires.
J'ai cette erreur : Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in /home.5/p/z/y/pzykoz/www/commentaires.php on line 57
Ne cherchez pas la ligne c'est celle avec la boucle while dans les commentaires mais je ne comprend pas. Avec le or die ca me dit qu'il y a une erreur de syntaxe sql mais je ne la vois pas.
J'espère que vous pourrez m'aider. Merci
Code : Tout sélectionner
<?php
include('fonction.php');
connexionbdd();
// ================================
// Affichage de la news à commenter
// ================================
$id_news = intval($_GET['id_news']); // cette variable contient l'id de la news sur laquelle on veut voir les commentaires
$requete_news = mysql_query('SELECT id, titre, contenu, pseudo, timestamp_validation FROM site_news WHERE id='.$id_news);
while($donnees_news = mysql_fetch_assoc($requete_news))
{
?>
<div id="news">
<table width="100%" border="1" cellpadding="1" cellspacing="0">
<tr><td>
<table width="100%">
<tr>
<td align="left"><strong>#<?php echo $donnees_news['id']; ?> | <?php echo $donnees_news['titre']; ?></strong></th>
<td align="right">par <strong><?php echo $donnees_news['pseudo']; ?></strong> ~ <em><?php echo date('d/m/Y', $donnees_news['timestamp_validation']); ?></em></td>
</td></tr>
</table>
</tr>
</table>
<table width="100%" cellpadding="2">
<tr>
<td colspan="2"></th>
</tr>
<tr>
<td align="left" border="1" colspan="2"><?php echo $donnees_news['contenu']; ?></th>
</tr>
</table>
</div>
<a href="index.php">Retour</a>
<?php
}
// ======================
// Début de la pagination
// ======================
$limit_par_page = 15; // On définit une variable pour dire combien de commentaires on veut par page
if (isset($_GET['page']) AND !empty($_GET['page']))
{
$page = intval($_GET['page']);
}
else
{
$page = 1;
}
$from = ($page - 1) * $limit_par_page;
// =======================
// Boucle des commentaires
// =======================
$requete_com = mysql_query('SELECT id, pseudo, message, timestamp FROM site_newscommentaires WHERE idnews='.$id_news.' LIMIT '.$from.', '.$limit_par_page);
while($donnees_com = mysql_fetch_assoc($requete_com))
{
?>
<div id="news">
<table width="100%">
<tr>
<th align="left"><strong>#<?php echo $donnees_com['id']; ?> | <?php echo $donnees_com['pseudo']; ?></strong></th>
<td align="right"><?php echo date('d/m/Y', $donnees_com['timestamp']); ?> ~ <?php echo date('H\hi', $donnees_com['timestamp_validation']); ?></td>
</tr>
<tr>
<th colspan="2"><hr /></th>
</tr>
<tr>
<th align="left" colspan="2"><?php echo $donnees_com['message']; ?></th>
</tr>
</table>
</div>
<?php
}
// ================================
// Dernière partie de la pagination
// ================================
$requete = mysql_query('SELECT COUNT(id) AS nb_commentaires FROM site_newscommentaires WHERE idnews='.$id_news);
$donnees = mysql_fetch_assoc($requete);
$nb_pages = ceil($donnees['nb_commentaires'] / $limit_par_page);
for ($i=1 ; $i<=$nb_pages ; $i++)
{
if ($i == $page)
{
echo '['.$i.']';
}
else
{
echo '<a href="index.php?page=commentaires&id_news='.$id_news.'&page='.$i.'">'.$i.'</a>';
}
}
mysql_close();
?>
<form method="post" action="index.php?page=ajout_commentaire">
Pseudo : <input type="text" name="pseudo" /><br />
<textarea name="message"></textarea><br/>
<input type="hidden" name="id_news" value="<?php echo $id_news; ?>" />
<input type="submit" value="Envoyer" />
</form>