par
Ryle » 12 mars 2007, 11:23
En fait, tout ce qu'il te suffit de savoir, c'est qu'après avoir lu les données de ta première ligne de résultats, les fonctions mysql_fetch_* se placent automatiquement sur l'enregistrement suivant. Ainsi, pour accéder à la deuxième ligne, il te suffit de faire un second mysql_fetch_array($recherche) après le premier, un troisième pour la troisième ligne, etc. La fonction retournant FALSE lorsqu'il n'y a plus de lignes.
Mais comme c'est galère de devoir en faire un par ligne, et qu'on ne sait généralement pas combien de lignes seront ramenées par la requête, on l'utilise tuot simplement dans un while :
while ($maligne = mysql_fetch_array($recherche)) {
echo $maligne['champB'] . '<br />'; // affichera à chaque itération, le champB de la ligne concernée
}
Et lorsqu'il n'y aura plus de ligne à lire, le test sera faux et tu sortiras du while

En fait, tout ce qu'il te suffit de savoir, c'est qu'après avoir lu les données de ta première ligne de résultats, les fonctions mysql_fetch_* se placent automatiquement sur l'enregistrement suivant. Ainsi, pour accéder à la deuxième ligne, il te suffit de faire un second mysql_fetch_array($recherche) après le premier, un troisième pour la troisième ligne, etc. La fonction retournant FALSE lorsqu'il n'y a plus de lignes.
Mais comme c'est galère de devoir en faire un par ligne, et qu'on ne sait généralement pas combien de lignes seront ramenées par la requête, on l'utilise tuot simplement dans un while :
[php]while ($maligne = mysql_fetch_array($recherche)) {
echo $maligne['champB'] . '<br />'; // affichera à chaque itération, le champB de la ligne concernée
}[/php]
Et lorsqu'il n'y aura plus de ligne à lire, le test sera faux et tu sortiras du while :)