Comment faire appel à une variable composée de 2 nom de variables ?

Comment faire appel à une variable composée de 2 nom de variables ? - PHP - Programmation

Marsh Posté le 16-01-2003 à 11:42:22    

Oui je sais, c'est pas très clair. Voila ce que j'ai :
 
Sur ma page de formulaire j'ai des champs qui sont créés dynamiquement. Il ont pour nom "descr1" "descr2" "descr.$nbr" ... n variant suivant le nombre de champs $nbr choisi par l'utilisateur.
 
Sur ma page de validation, j'aimerais afficher ce qu'il y a ds ces champs. Il me faut donc afficher les variable $descr1, $descr2 etc...
 
Il me faut donc mettre une boucle FOR du genre (abrégé)
 
for($i=1,;$i<=$nbr;$i++)
{
print $descr.$i;
}
 
La le probleme est qu'il va vouloir m'afficher $descr ... puis $i.
 
Comme $descr n'existe pas, il ne va m'afficher que $i.
 
D'où ma question ? Comment faire ?
 
J'ai essayé avec $descr$i, avec $$descr$i et avec $$descr.$i ... rien ne marche ...
 
Qqn peut m'aider ? Merci

Reply

Marsh Posté le 16-01-2003 à 11:42:22   

Reply

Marsh Posté le 16-01-2003 à 11:45:19    

for($i=1;$i<=$nbr;$i++)  
{  
  $champ = "descr$i";
  print $$champ;
}
 
Sinon, pour les champs de formulaire, la meilleur solution, c'est d'utiliser des tableaux.
 
Rien ne t'empèche de nommer un champ de formulaire name="descr[1]" !
 
Plus fort, si plusieurs champs on un même nom du genre "descr[]", ben çà te crée un tableau avec tout tes champs et un indice qui commence à 0
 
A+


Message édité par Mara's dad le 16-01-2003 à 11:48:54

---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 16-01-2003 à 11:48:59    

Mara's dad a écrit :

for($i=1;$i<=$nbr;$i++)  
{  
 
print $descr.$i;  
}  
 


 
Ca ne marche pas, car si on ecrit ça il va vouloir afficher la chaine "$descr" concaténée à la chaine "$i" ...
 
Càd que si $descr vaut "Bonjour" il va m'afficher Bonjour1, Bonjour2 etc...
 
Dans mon cas, il faut savoir que $descr n'existe pas ... les variables existantes sont $descr1, $descr2 etc...

Reply

Marsh Posté le 16-01-2003 à 11:49:41    

Mara's dad a écrit :

for($i=1;$i<=$nbr;$i++)  
{  
  $champ = "descr$i";
  print $$champ;
}
 
Sinon, pour les champs de formulaire, la meilleur solution, c'est d'utiliser des tableaux.
 
Rien ne t'empèche de nommer un champ de formulaire name="descr[1]" !
 
Plus fort, si plusieurs champs on un même nom du genre "descr[]", ben çà te crée un tableau avec tout tes champs et un indice qui commence à 0
 
A+


 
Je vais essayer tout ça, merci :)

Reply

Marsh Posté le 16-01-2003 à 11:50:56    

J'ai validé la première version de mon post sans faire gaffe, juste après un copier coller  :lol:


---------------
Laissez l'Etat dans les toilettes où vous l'avez trouvé.
Reply

Marsh Posté le 16-01-2003 à 11:53:29    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed