Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2493 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Utilisation d'un nom de variable qui varie dans une boucle

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] Utilisation d'un nom de variable qui varie dans une boucle

n°1351747
Falconpage
HFR Powered since 1998
Posté le 22-04-2006 à 11:37:44  profilanswer
 

Bonjour à tous,
 
Voilà ma requête :
 
$requete =  "SELECT nom FROM MaTable WHERE id = $variable1";
 
Tout ça est exectuté dans une boucle FOR :

Code :
  1. for ($j=1; $j<11; $j++)
  2.  {
  3.        $requete =  "SELECT nom FROM MaTable WHERE id = $variable1";
  4.        $req = MYSQL_QUERY($requete);
  5.        $NomObjet1  = stripslashes(trim(mysql_result($req,0,"nom" )));
  6.  }


 
Je souhaite que mon $j soit utilisé pour faire tourné $variable1 à $variable10 et $NomObjet1 à $NomObjet10
J'ai bien essayé de composer le nom de la variable et de l'injecté ensuite mais ça me jète gentiement :)
 
Si vous pouviez m'aider : merci :)

 
EDIT  : c'est peut être mieux explique comme ça :
 
 
En gros je ré-explique ce que je souhaite.
 
J'ai $j la variable qui va passer de 1 à 10 dans une boucle FOR
Je veux utiliser dans cette boucle une variable $V1 à $V10.
Je veux utiliser $V1 quand $j=1, $V2 quand $j=2, etc.
 
Je voulais écrire "$V".$j pour construire ma variable $V1 par exemple mais cela ne marche pas : il doit bien y avoir une solution ?


Message édité par Falconpage le 22-04-2006 à 14:39:46
mood
Publicité
Posté le 22-04-2006 à 11:37:44  profilanswer
 

n°1351751
sielfried
Posté le 22-04-2006 à 11:52:15  profilanswer
 

Utilise un tableau, c'est fait pour ça.


---------------
StarCraft Professional Gaming Database | [Ze Topic] Starcraft/BroodWar
n°1351752
newneo2001
Posté le 22-04-2006 à 11:53:19  profilanswer
 

rien compris à ce que tu voulais faire, mais déjà je pense que c'est pas du tout optimisé et que tu dois pouvoir faire autre chose.  
 
le mysql_fetch_array ca pourait te servir.
 
++


---------------
N'oubliez pas de mettre [RESOLU] dans le titre quand c'est fini - Pour poster vos sources : http://paste.clicksources.com/
n°1351756
Falconpage
HFR Powered since 1998
Posté le 22-04-2006 à 11:59:42  profilanswer
 

en gros je voudrais éviter ça grace à la boucle for  :
 

Code :
  1. $requete =  "SELECT nom FROM MaTable WHERE id = $variable1";
  2.  
  3.                                       $req = MYSQL_QUERY($requete);
  4.  
  5.                                       $NomObjet1  = stripslashes(trim(mysql_result($req,0,"nom" )));
  6.                                       $requete =  "SELECT nom FROM MaTable WHERE id = $variable2";
  7.  
  8.                                       $req = MYSQL_QUERY($requete);
  9.  
  10.                                       $NomObjet2  = stripslashes(trim(mysql_result($req,0,"nom" )));
  11.                                       $requete =  "SELECT nom FROM MaTable WHERE id = $variable3";
  12.  
  13.                                       $req = MYSQL_QUERY($requete);
  14.  
  15.                                       $NomObjet3  = stripslashes(trim(mysql_result($req,0,"nom" )));
  16. etc...


 
Le but étant de faire varier le nom des variables : mais si on fait ça les requête ne fonctionne plus.


Message édité par Falconpage le 22-04-2006 à 12:09:40
n°1351757
Falconpage
HFR Powered since 1998
Posté le 22-04-2006 à 12:00:14  profilanswer
 

newneo2001 a écrit :

rien compris à ce que tu voulais faire, mais déjà je pense que c'est pas du tout optimisé et que tu dois pouvoir faire autre chose.  
 
le mysql_fetch_array ca pourait te servir.
 
++


 
Je vais regardé, merci :)

n°1351835
Falconpage
HFR Powered since 1998
Posté le 22-04-2006 à 14:37:52  profilanswer
 

Ca marche forcément avec un tableau mais ça ne répond pas à ma question (je suis sur pourtant que ça doit être possible).
 
En gros je ré-explique ce que je souhaite.
 
J'ai $j la variable qui va passer de 1 à 10 dans une boucle FOR
Je veux utiliser dans cette boucle une variable $V1 à $V10.
Je veux utiliser $V1 quand $j=1, $V2 quand $j=2, etc.
 
Je voulais écrire "$V".$j pour construire ma variable $V1 par exemple mais cela ne marche pas : il doit bien y avoir une solution ?

n°1351841
gooopil
pfiew
Posté le 22-04-2006 à 14:58:07  profilanswer
 

Et pourquoi tu utiliserais pas une variable $j[1] à $j[10] ? Ca marchera de la même façon en bcp plus propre...
PS. Oui c'est possible de concaténer des chaines pour en faire un nom de variable mais c'est une très mauvais pratique en général...

n°1351892
Neraud
Posté le 22-04-2006 à 17:10:35  profilanswer
 

Pour donner un nom dynamique à une varible faut utiliser des { }, soit dans ton cas : ${"variable".$j}

n°1351954
Falconpage
HFR Powered since 1998
Posté le 22-04-2006 à 20:02:04  profilanswer
 

:love: Merci beaucoup : ça va simplifier largement le code de mon application :)

n°1351958
Falconpage
HFR Powered since 1998
Posté le 22-04-2006 à 20:08:52  profilanswer
 

Neraud a écrit :

Pour donner un nom dynamique à une varible faut utiliser des { }, soit dans ton cas : ${"variable".$j}


 
Testé : ça marche impec !

mood
Publicité
Posté le 22-04-2006 à 20:08:52  profilanswer
 

n°1351959
Falconpage
HFR Powered since 1998
Posté le 22-04-2006 à 20:09:54  profilanswer
 

gooopil a écrit :

Et pourquoi tu utiliserais pas une variable $j[1] à $j[10] ?


 
Tu parles d'un tableau J contenant entre 1 et 10 les valeurs V1 à V10 ?

n°1352008
gooopil
pfiew
Posté le 22-04-2006 à 22:30:26  profilanswer
 

Falconpage a écrit :

Tu parles d'un tableau J contenant entre 1 et 10 les valeurs V1 à V10 ?


 
Ben oui :o
 
Le tableau c'est LA solution, les variables variables comme t'a indiqué Neraud, c'est vraiment pas propre et c'est source de bug (C'est bien pour ça que j'avais pas expliqué comment faire...) Après fait comme tu veux, je suis loin d'être la personne avec le plus d'expérience ou de connaissance en prog ici, mais je pense pas qu'on me contredise sur ce point la...

n°1352104
Falconpage
HFR Powered since 1998
Posté le 23-04-2006 à 09:08:08  profilanswer
 

Merci pour ton avis :)  J'ai bien noté tes commentaires mais j'étais quand même interessé pour connaitre au cas où :)
 
Je programme principal en VB pour mon boulot (petits programme, là non plus rien d'extraordinaire). C'est clair que les tableaux c'est LA solution ;)
 
Merci en tout cas pour vos aides et commentaires :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Utilisation d'un nom de variable qui varie dans une boucle

 

Sujets relatifs
[PHP]Aide pour formulaire[Debutant] [JAVA] afficher le resultat d'une boucle ?
Recherche avec une miste déroulante PHP/MySql[PHP BB] Failles de sécurité ...
Chtite Question sur Apache -- PHPmodifier une variable globale et accéder
PHP pour les metautilisation de system
chaine inclue dans une variable ???[PHP] Problème de sécurité
Plus de sujets relatifs à : [PHP] Utilisation d'un nom de variable qui varie dans une boucle


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR