récupérer une variable déjà incrémentée en boucle 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 : récupérer une variable déjà incrémentée en boucle While

Re: récupérer une variable déjà incrémentée en boucle While

par Ryle » 19 juil. 2010, 21:59

echo ${'Article' . $y};
Was ist das ? o_o
C'est une syntaxe pour les variables dynamiques :
$var = 'hello';
$hello = 'world';

// les syntaxes suivantes sont équivalentes et affichent toutes : "world"
echo $$var; 
echo ${$var}; 
echo ${'hello'};
echo ${'hel' . 'lo'};

Re: récupérer une variable déjà incrémentée en boucle While

par AoSiX » 19 juil. 2010, 16:52

echo ${'Article' . $y};
Was ist das ? o_o

Re: récupérer une variable déjà incrémentée en boucle While

par Genova » 19 juil. 2010, 16:20

echo ${'Article' . $y};
fonctionne.

Cependant je te suggère de plutôt utiliser un tableau, c'est plus propre :
echo $articles[$y];

récupérer une variable déjà incrémentée en boucle While

par Fanch_NC » 19 juil. 2010, 15:24

Bonjour,

Je viens de créer un formulaire HTML dans lequel on ne sait pas à l'avance combien de lignes il y aura. L'utilisateur définit dans un premier formulaire le nombre de lignes, que je récupère dans une variable $Nb

Chaque ligne contient 5 cases: Designation, Matiere, Couleur, QuantiteAnnuelle et QuantiteLivraison.

J'ai donc mis au point un script php qui va ajouter, dans une boucle while, les lignes du formulaire. Soit pour la ligne 1, des text inputs qui se nomment Article1, Couleur 1, Matiere1... Et évidemment pour la ligne 2, ce sera Article 2, Couleur2, Matiere2...

Ensuite, je souhaite récupérer mes variables et les envoyer par mail.

Je veux détailler le mail comme suit:

Article 1
Designation:
Couleur:
Matiere:
......
Article 2
Designation:
Couleur:
Matiere:

Et là où je tourne en rond, c'est pour récupérer automatiquement toutes ces variables dans une boucle while:

Je n'arrive tout simplement pas à concaténer le nom de ma variable avec le numéro qui la suit.

Disons que ma variable s'appelle $Article1 : comment faire pour concaténer le "$Article" avec le chiffre 1, afin de récupérer le contenu de la variable $Article1?

Code : Tout sélectionner

$y = 1; $z = $Nb + 1; while ($y < $z) { // Ecrire dans le mail le numéro de l'article (pas de souci) $message .= "Article " . $y . "\r"; // Ecrire dans le mail le détail des lignes qui suivent (et là, pas d'idée) // Première méthode ne fonctionne pas $message .= "Designation: " . $Article($y) . "\r"; // Du coup j'essaye avec eval mais je sais pas bien m'en servir $message .= "Matiere: " . eval("\$Matiere" . $y . ";") . "\r"; // Et enfin, eval avec echo, me renvoie une erreur $message .= "Couleur: " . eval("echo $Couleur" . $y . ";") . "\r"; $message .= "-----------------------------------\r"; $y ++; }

Quelqu'un peut-il m'éclairer svp?