Affectations de variables dans une boucle.

Signaler
Messages postés
517
Date d'inscription
mardi 23 décembre 2003
Statut
Membre
Dernière intervention
24 octobre 2006
-
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
-
Salut a tous !

Je ne suis pas habitué a venir sur cette partie de CS (dieu me pardonne)

J'ai un petit probleme que j'ai du mal a resourdre vu mon niveau en php (je m'y mettrais bientot...)


Je vous explique :

je recupere un nombre n de variable en mode POST apellées:

element1

element2

element3

elementn



je les recuper dans mon script grace au code :

$elementn=_POST['elementn'];



Jusqu'ici ca fonctionne



Je doit inserer chacun des elements dans une base de donnée avec une simple table de deux champs : id et content.



Je vous epargne le code, ca fonctionne si je met mannuelment une variable dans la table.

Mais la ou je veux en venir c'est su'il me faut une boucle car je ne sait pas combien d'elements sont a ajouter.

voici la boucle d'affectation que je n'arrive pas a utiliser:



for($i=1;$i<=$nbrElem;$i++){

//ici je voudrais que $element1 = $_POST['element1'] et ainsi de suite

$['element'+$i] = $_POST['element'+$i];

}

idem dans ma boucle pour ajouter les valeurs:

for($i=1;$i<=$nbrElem;$i++){

ajouter dans la base elementi

}



Merci a celui qui me donnera la syntaxe pour realiser ces affectations.
A tchao !

6 réponses

Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
22
Hello,



extract ($_POST, <tt class="constant">EXTR_SKIP</tt>);



Tu auras tes variables comme tu le souhaites :

$element1

$elementn





http://de3.php.net/extract

pour la doc :-)
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
22
Ceci dit...

Pourquoi tu n'utilises pas directement tes $_POST[] ?

Parce que pour l'insertion dans la base...ce serait plus simple ?

Parce que de toutes facons, tu vas devoir les remettre dans un tableau pour l'insertion dans ta base ...afin d'avoir :

foreach ($tableau_elements as $element)

insertion dans ta base avec $element



Or tu peux faire ca directement avec ton $_POST qui est deja un tableau...



foreach ($_POST as $element)
Messages postés
517
Date d'inscription
mardi 23 décembre 2003
Statut
Membre
Dernière intervention
24 octobre 2006
1
Merci pour ta reponse, mais j'ai des variables post que je ne veut pas rentrer dans la base de donné.

En fait quand je fait ceci :



$element1 = $_POST['element1'];



ca fonctionne



et je voudrais savoir comment faire la meme chose mais dans une boucle for:





for($i=1;$i<=$nbrElem;$i++){


//$element1 = $_POST['element1']; mais avec i


}


A tchao !
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
22
Avec un tableau, lol. Tu devrais utiliser un tableau pour ces post-ci.

Ainsi tu aurais $element[$i] = $_POST['element'][$i];



Utiliser les variables dynamiques, c'est vraiment le boderl, mais si tu veux, voici la doc :



http://de2.php.net/manual/en/language.variables.variable.php
Messages postés
517
Date d'inscription
mardi 23 décembre 2003
Statut
Membre
Dernière intervention
24 octobre 2006
1
for($i=1;$i<=$nbrElem;$i++){

$element.$i = $_POST["element$i"];

}

fonctionne

$element1 est bien egal a element1 des variables post etc...

Merci pour tes reponses malalam.

A tchao !
Messages postés
10840
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
22
$element.$i fonctionne...?
Ah.
Lol tant mieux...