Problème avec foreach et non while

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Problème avec foreach et non while

Re: Problème avec foreach et non while

par stealth35 » 15 nov. 2011, 16:26

pas possible de mettre résolu en invité.

a tu bien compris comment fonctionne le while ? c'est pareil pour PDO.

a ceci près que PDO te propose de retourner tous le jeux de résultat dans un tableau que tu pourra parcourir avec foreach
http://www.php.net/manual/fr/pdostatement.fetchall.php


@+
pas besoin PDOStatement c'est un Traversable donc tu peux direct faire un foreach dessus pas besoin de while

Re: Problème avec foreach et non while

par Matthieu » 15 nov. 2011, 16:17

Merci encore...

Bonne journée

Re: Problème avec foreach et non while

par moogli » 15 nov. 2011, 16:15

pas possible de mettre résolu en invité.

a tu bien compris comment fonctionne le while ? c'est pareil pour PDO.

a ceci près que PDO te propose de retourner tous le jeux de résultat dans un tableau que tu pourra parcourir avec foreach
http://www.php.net/manual/fr/pdostatement.fetchall.php


@+

Re: Problème avec foreach et non while

par Matthieu » 15 nov. 2011, 16:11

Je ne trouve pas comment mettre Résolu, vu que je ne suis pas logué, je pense que se n'est pas possible ?

ps: si pour le PDO tu peux m'indiquer la voix s'il te plaît :oops:

Re: Problème avec foreach et non while

par Matthieu » 15 nov. 2011, 16:06

Merci de m'avoir éclairé.

Pour le PDO je l'ai toujours "utilisé" mais jamais codé... Donc je vais regarder si c'est dans mes compétences lol

J'imagine que ce site pourra me fournir tout ce dont j'ai besoin :)
Merci encore de m'avoir accordé un peu de temps.

Re: Problème avec foreach et non while

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 ?

Re: Problème avec foreach et non while

par Matthieu » 15 nov. 2011, 15:53

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 ?

Re: Problème avec foreach et non while

par stealth35 » 15 nov. 2011, 15:42

while est foreach c'est pas la même chose, tu comprends comment fonctionne le while ?

Problème avec foreach et non while

par Matthieu » 15 nov. 2011, 15:20

Bonjour,

Je suis en train de faire un site, et lorsque je récupère les données depuis la base j'ai quelque problème.
$sql = 'SELECT * FROM monchefadit_quotes order by id;';
$result = mysql_query($sql, $dbconnect) or exit('Error SQL !<br>'.$sql.'<br>'.mysql_error());

$quotes = mysql_fetch_array($result);
Ici, si je fais un :
foreach ($quotes as $quote)
var_dump($quote);
J'ai une erreur car il me retourne qu'une ligne de ma table, alors que si j'utilise le while:
while ($quotes = mysql_fetch_array($result)){
echo $quotes["date"];
}
J'ai bien toute mes lignes de ma table... J'ai l'habitude de développer avec foreach (avec frameworks) mais là je ne comprends pas...