Page 1 sur 1

affichage avec while

Posté : 22 avr. 2010, 08:47
par surfeur2
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!

Re: affichage avec while

Posté : 22 avr. 2010, 09:55
par babcoooooooooool
Parce que tu as déjà fait un mysql_fetch_array avant ton while

Re: affichage avec while

Posté : 22 avr. 2010, 09:59
par devlop78
$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

Re: affichage avec while

Posté : 22 avr. 2010, 12:08
par Aureusms
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"];
}
?> 

Re: affichage avec while

Posté : 22 avr. 2010, 14:22
par stealth35
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