Probleme boucle while[Résolu]

Probleme boucle while[Résolu] - PHP - Programmation

Marsh Posté le 02-08-2004 à 00:54:44    

jai un script qui affiche les commentaires récupérés dans la base de donnée , voila le script  

Code :
  1. $requete = mysql_query("SELECT * FROM commentaire WHERE news=$HTTP_GET_VARS[news] ORDER BY id DESC LIMIT 0,15" );
  2. $result = mysql_fetch_array($requete);
  3. $nombre = mysql_numrows($requete);
  4. while($result = mysql_fetch_array($requete)) {
  5. echo "<table width=\"100%\" border=\"1\" cellspacing=0 cellpadding=0 bordercolor=\"#AAAAAA\">";
  6.   //Liste des commentaires
  7.        $titre=str_replace("<", "&lt;", $result[titre]);
  8.      $titre=str_replace(">", "&gt;", $titre);
  9.      $titre=str_replace("\n", "<br>", $titre);
  10.      $texte=str_replace("<", "&lt;", $result[texte]);
  11.      $texte=str_replace(">", "&gt;", $texte);
  12.      $texte=str_replace("\n", "<br>", $texte);
  13.      echo "<tr align=center><td bgcolor=\"#7E0000\">&nbsp;<font class=\"miniblanc\"><b><a class=lien href=index.php?page=admin&admin_page=comm_edit&comm=$result[id]> $result[pseudo]</b>, $_LE $result[date]</td></tr>
  14.      <tr><td><br><blockquote>
  15.      <div align=center>$texte</div>
  16.      </blockquote></td></tr></a>";
  17.    echo "</table>";
  18. }


 
Mon probleme : le script oubli toujours d'afficher un commentaire : exemple j'ai 3 commentaires dans la base de donnée : il m'en affiche que 2 . J'ai fait un echo"$nombre"; et il m'affiche bien 3. Ce n'est pas non plus dans le contenu de la boucle while .
 
merci de m'éclaircir!


Message édité par KristaaL le 02-08-2004 à 16:20:34
Reply

Marsh Posté le 02-08-2004 à 00:54:44   

Reply

Marsh Posté le 02-08-2004 à 01:06:14    

enleve la deuxieme ligne de ton script et tu ne devrais plus avoir de probleme.
et puis pour la troisieme ligne, ya une faute de frappe, c'est mysql_num_rows($requete) et non mysql_numrows($requete)


---------------
Découvre le HFRcoin ✈ - smilies
Reply

Marsh Posté le 02-08-2004 à 03:18:00    

Fabien a écrit :

et puis pour la troisieme ligne, ya une faute de frappe, c'est mysql_num_rows($requete) et non mysql_numrows($requete)


 
Bizarrement d'ailleurs, les deux existants pour SQL Server par exemple :)

Reply

Marsh Posté le 02-08-2004 à 14:27:57    

Oui, explication de ton problème :
 
$requete = mysql_query("SELECT * FROM commentaire WHERE news=$HTTP_GET_VARS[news] ORDER BY id DESC LIMIT 0,15" );
//Tout allait bien jusque là :
$result = mysql_fetch_array($requete);
/*Sauf que tu viens de lancer la requète mysql_fetch_array une fois... sans le vouloir et le résultat n'est pas traité...*/
$nombre = mysql_numrows($requete);
while($result = mysql_fetch_array($requete)) { .....}
/*Quand tu entres dans la boucle While, concrètement tu commences en lançant la requète une second fois...*/


Message édité par elMagnifico le 02-08-2004 à 14:30:50
Reply

Marsh Posté le 02-08-2004 à 16:20:20    

Merci pour votre aide ! j'espere que mon post aidera d'autres

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed