variable écrasée à chaque tour de boucle

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 : variable écrasée à chaque tour de boucle

Re: variable écrasée à chaque tour de boucle

par swanny » 15 juin 2011, 15:13

A oui, par contre la fonction c'est "implode" avec un "m" et non un "n"^^ Merci encore ;-)

Re: variable écrasée à chaque tour de boucle

par moogli » 15 juin 2011, 15:00

de rien :)

(clique sur résolu, si c'est la cas, ça pourra p'tet aider quelqu'un d'autre ;) )


@+

Re: variable écrasée à chaque tour de boucle

par Invité » 15 juin 2011, 14:54

J'ai utilisé la 2éme solution vu que mes identifiant vont changer à chaque demande de l'utilisateur. Merci beaucoup pour l'aide et pour la doc ;-)

Re: variable écrasée à chaque tour de boucle

par moogli » 15 juin 2011, 11:18

salut,

(j'avoue j'ai pas tout relue)

solution 1 : si c'est toute la table, vire juste la condition sur le plate_id (donc le where au final)

solution 2 : tu ne veux que celle dans le tableau $plateTab, dans ce cas tu va pouvoir tuiliser le IN de SQL

$sql = 'select * FROM t_result where plate_id in ('. inplode(',',$plateTab).' ) ORDER BY result_id;';

edit : j'ai oublié un p'tit lien vers de la doc ;) => http://sqlpro.developpez.com/cours/sqla ... es/#L1.2.1


@+

Re: variable écrasée à chaque tour de boucle

par Invité » 15 juin 2011, 10:42

J'ai tout mis dans un tableau, effectivement je récupére tout mes identifiants. Merci beaucoup :-)

Mais j'ai un autre probléme. J'avais fait une requête qui me permettais de récupérer un identifiant de plaque afin d'afficher plus tard toutes les informations sur celle-ci. ça marche mais en ne récupérant que la derniére plaque (ce qui est normal puisque j'ai construit ma requête avec $plateid, il ne peut donc récupérer que la derniére valeur de cette variable). Maintenant je voudrais récupérer toutes les valeurs de mon tableau pour faire la même chose. Je ne vais pas remplacer $plateid par $plateTab ça ne marchera pas, mais je ne vois pas trop comment faire. Il me faut plusieurs requêtes? Ou je peux tout faire dans la même ?


Voilà ma requête de départ :

Code : Tout sélectionner

$sql="select * FROM t_result where plate_id=$plateid ORDER BY result_id;"; $rs=pg_exec($idc,$sql);

Re: variable écrasée à chaque tour de boucle

par devlop78 » 14 juin 2011, 23:26

Ou plutot simple

$lgr=pg_fetch_all($rs)

Re: variable écrasée à chaque tour de boucle

par Ryle » 14 juin 2011, 18:25

Au lieu de mettre tes valeurs dans une variable, il faudrait les mettre dans un tableau. Tu pourrais ainsi ajouter tes plaque dans ton tableau à chaque itération et récupérer un tableau rempli en sortant du while :)
$plateTab = array();
while ($lgr=pg_fetch_assoc($rs)) {
         $plateid =$lgr['plate_id']; 
         print("$plateid<br>");
         $plateTab[] = $plateid;
         $cpt++;
}

print_r($plateTab);

variable écrasée à chaque tour de boucle

par swanny » 14 juin 2011, 17:11

Bonjour,

J'ai un soucis de variable. J'ai écris une boucle dans laquelle je veux récupérer les identifiant de mes plaques ($plateid). Le probléme c'est qu'en écrivant ça, ma variable est écrasée à chaque fois. Hors je veux pouvoir m'en resservir plus loin pour faire une requéte avec tout les identifiants incriminés. Mais je ne vois pas comment faire. Quelqu'un pourrait-il m'aider?

Voici ma boucle :

Code : Tout sélectionner

$sql="select * FROM t_plate where project='$projectid';"; $rs=pg_exec($idc,$sql); $cpt=0; while ($lgr=pg_fetch_assoc($rs)) { $plateid =$lgr['plate_id']; print("$plateid<br>"); $cpt++; }

Merci d'avance :-)