[gull] PHP et Mysql
Philippe Jayet
hip at lan-attack.ch
Mon Dec 1 21:06:01 CET 2003
Hello !
Rafael Muñoz Moreno Davila wrote:
> while (mysql_fetch_array($result))
> {
> while ($row = @ mysql_fetch_row($result))
> {
> foreach($row as $data)
> {
> if ($data == "OUI")
> $oui++;
> if ($data == "NON")
> $non++;
>
> echo $data;
> }
> }
> }
Bien vu Florian, c'est un prob de boucles ... La première boucle while
va fetcher le premier résultat, sans qu'il soit traité. Le deuxième
while va fetcher les résultats suivants, à partir du deuxième jusqu'au
dernier, en les traitant cette fois-ci.
Pour rappel, la différence entre les fonctions mysql_fetch_array( ) et
mysql_fetch_row( ) est simplement la forme de la valeur retournée. Dans
le premier cas, un tableau associatif est retourné ('column_name1' =>
'val1', 'column_name2' => 'val2', ...) et dans le deuxième, un bête
array ('val1', 'val2', ...). Mais les deux fonctions ont pour but de
lire un $result d'une mysql_query( ).
Il suffit donc de supprimer le premier while, ce qui donne :
while ($row = @ mysql_fetch_row($result))
{
foreach($row as $data)
{
if ($data == "OUI")
$oui++;
if ($data == "NON")
$non++;
echo $data;
}
}
Tout devrait jouer comme ça. Mais je conseille vivement l'utilisation de
mysql_fetch_array( ) à la place : plus clair, moins susceptible aux
erreurs pour à peine plus de ressources.
Voir :
http://ch.php.net/mysql-fetch-row
http://ch.php.net/mysql-fetch-array
Bonne soirée, à plus !
Philippe J.
More information about the gull
mailing list