par
stealth35 » 15 nov. 2011, 15:59
Je sais que le foreach parcours un tableau.. Et je pense que le while permet de parcourir la base de donnée tant que c'est true ?
le
while continue de touner tant que l'expression est vrai, et a chaque appelle de
mysql_fetch_* on va chercher une nouvelle ligne donc en gros
$result = mysql_query('...');
$ligne1 = mysql_fetch_assoc($result);
$ligne2 = mysql_fetch_assoc($result);
$ligne3 = mysql_fetch_assoc($result);
...
$ligneN = mysql_fetch_assoc($result);
quand y'a plus de résultat
mysql_fetch_* renvoie
false, donc l'expression dans le
while vaut
false et ça s’arrête
donc ce que t’essayes de faire avec ton foreach n'est pas possible nativement, et encore le plus logique aurai été de faire :
foreach ($result as $quote)
var_dump($quote);
mais c'est pas possible,
pourquoi t'utilises pas
PDO ?
[quote="Matthieu"]Je sais que le foreach parcours un tableau.. Et je pense que le while permet de parcourir la base de donnée tant que c'est true ?[/quote]
le [i]while[/i] continue de touner tant que l'expression est vrai, et a chaque appelle de [i]mysql_fetch_*[/i] on va chercher une nouvelle ligne donc en gros
[php]$result = mysql_query('...');
$ligne1 = mysql_fetch_assoc($result);
$ligne2 = mysql_fetch_assoc($result);
$ligne3 = mysql_fetch_assoc($result);
...
$ligneN = mysql_fetch_assoc($result);[/php]
quand y'a plus de résultat [i]mysql_fetch_*[/i] renvoie [i]false[/i], donc l'expression dans le [i]while[/i] vaut [i]false[/i] et ça s’arrête
donc ce que t’essayes de faire avec ton foreach n'est pas possible nativement, et encore le plus logique aurai été de faire :
[php]foreach ($result as $quote)
var_dump($quote);[/php]
mais c'est pas possible,
pourquoi t'utilises pas [i]PDO[/i] ?