affichage avec while

Eléphanteau du PHP | 38 Messages

22 avr. 2010, 08:47

Bonjour,

dans ma table j'ai 3 enregistrements!

Si je mets ce code seulement 2 enregistrements sont affichées à la place des 3, pourquoi?

$query2 = "SELECT * FROM articles";
$result2 = mysql_query($query2);
$val2 = mysql_fetch_array($result2);

// tant qu'il y a des fiches
while ($val2 = mysql_fetch_array($result2)) {
echo $val2["Categorie"];
echo " ".$val2["Scategorie"];
?>
<br>
<? }
?>

merci d'avance pour votre réponse!

babcoooooooooool
Invité n'ayant pas de compte PHPfrance

22 avr. 2010, 09:55

Parce que tu as déjà fait un mysql_fetch_array avant ton while

devlop78
Invité n'ayant pas de compte PHPfrance

22 avr. 2010, 09:59

$query2 = "SELECT * FROM articles";
$result2 = mysql_query($query2);

while ($val2 = mysql_fetch_array($result2)) {
echo $val2["Categorie"];
echo " ".$val2["Scategorie"];
echo "<br />";
}
?>

pour rejoindre mon message "anonyme" précédent

ViPHP
ViPHP | 1996 Messages

22 avr. 2010, 12:08

Et attention mysql_fetch_array est utilise QUE pour une sortie tableau ET nom. Sinon utilises mysql_fetch_assoc (moins gourmand en mémoire)
<?php
$query2 = "SELECT * FROM articles";
$result2 = mysql_query($query2);

while ($val2 = mysql_fetch_assoc($result2)) {
echo $val2["Categorie"]. " ".$val2["Scategorie"];
}
?> 
It is nice to be important but it is more important to be nice
http://www.aureuswebfactory.fr

ViPHP
ViPHP | 5462 Messages

22 avr. 2010, 14:22

Et attention mysql_fetch_array est utilise QUE pour une sortie tableau ET nom. Sinon utilises mysql_fetch_assoc (moins gourmand en mémoire)
je plus-sois mysql_fetch_array c'est : mysql_fetch_row + mysql_fetch_assoc