boucle de select avec variable dans name

patrick
Invité n'ayant pas de compte PHPfrance

07 mai 2005, 15:55

je souhaite realiser des select imbriqués pour afficher des options du genre couleur, marque etc... et pour chaque option faire un select des choix possible dans un formulaire
du type for i.....nbreoption

select name = option
option value1
option value2

et de recuper les valeurs de tous les selects dans un post

si je fais for i ...nbreoption
echo $post[$option
je ne recupere rien

Mammouth du PHP | 19672 Messages

07 mai 2005, 15:58

Fais nous voir un peu plus de code, je comprends pas grand chose. QUand tu parles de SELECT imbriqués, veux-tu dire à l'intérieur de tes requêtes SQL ou dans des boucles PHP ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

patrick
Invité n'ayant pas de compte PHPfrance

07 mai 2005, 16:13

<form method="POST" action="localhost= "http://essai.php >
<? for($i=0;$i<5;$i++){?>
<select name="mon_champ[]">
<option>option 1</option>
<option>option 2</option>
<option>option 3</option>
</select>
<br><br>
<?}?>
<br><br>
<input type="submit" value="ok">
</form><?


//essai.php
<?
for($i=0;$i<5;$i++){
echo ($_POST[$champ[$i]);}

Mammouth du PHP | 19672 Messages

07 mai 2005, 16:18

ça peut fonctionner si tu n'oublies pas de mettre un index dans le nom de ton <select> :
<select name="mon_champ[$i]">
Par ailleurs, si tu veux récupérer quelque chose, il faudrait que tes balises <option> aient un attribut value="quelquechose", par exemple l'identifiant du nom qui est affiché dans la ligne de sélection
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

patrick
Invité n'ayant pas de compte PHPfrance

07 mai 2005, 16:23

<form method="POST" >
<? for($i=0;$i<5;$i++){?>
<select name="mon_champ[<?$i?>]">
<option>option 1</option>
<option>option 2</option>
<option>option 3</option>
</select>
<br><br>
<?}?>
<br><br>
<input type="submit" value="ok">
</form>


//essai.php
<?
for($i=0;$i<5;$i++){
echo ($_POST[$mon_champ[$i]]);}?>

patrick
Invité n'ayant pas de compte PHPfrance

07 mai 2005, 16:29

j ai mis des values dans les options
cela semble fonctionner mais je ne recupere pas mes variables apres le passage du post

Mammouth du PHP | 19672 Messages

07 mai 2005, 16:33

tu n'as pas d'attribut action dans ta balise <form> le formulaire est envoyé vers quel fichier si tu ne l'indiques pas ?

Ensuite quand je parle de value dans option, c'est ceci :
<option value="option 1">option 1</option>
Pas la valeur affichée.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

patrick
Invité n'ayant pas de compte PHPfrance

07 mai 2005, 17:55

<form method="POST" action="http://localhost/olivier/essai8.php" >
<? for($i=0;$i<5;$i++){?>
<select name="mon_champ[<?$i?>]">
<option value = 1>option 1</option>
<option value = 2>option 2</option>
<option value = 3>option 3</option>
</select>
<br><br>
<?}?>
<br><br>
<input type="submit" value="ok">
</form>


//essai8.php

<?
for($i=0;$i<5;$i++){
echo ($_POST[$mon_champ[$i]]);}?>

les variables ne s affichent pas

Mammouth du PHP | 19672 Messages

07 mai 2005, 18:12

Est-il possible de voir le fichier complet ? ou les deux fichiers parce que là, un détail m'échappe quelque part.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

patrick
Invité n'ayant pas de compte PHPfrance

07 mai 2005, 18:20

le texte jusqua //essai8.php fait appel a essai8.php dans lequel je veux retrouver les valeurs des differents select pour traiter ensuite un mail de reponse mais dans cette page essai8.php je n arrive pas a visualiser les valeurs transmises par le post via une boucle

comment dois je les passer pour les retrouver

merci d avance

Mammouth du PHP | 19672 Messages

07 mai 2005, 18:51

Tu n'as aucun message d'erreur ?
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 219 Messages

07 mai 2005, 19:13

Salut patrick,

pourquoi
<?
for($i=0;$i<5;$i++){
echo ($_POST[$mon_champ[$i]]);}?> 
et pas
<?
for($i=0;$i<5;$i++){
echo ($_POST['mon_champ' . $i]);}?> 
?
A
a+
daoud

patrick
Invité n'ayant pas de compte PHPfrance

07 mai 2005, 19:21

non je n ai aucun message d erreur mais rien ne s affiche

j ai essaye
<?
for($i=0;$i<5;$i++){
echo ($_POST['mon_champ' . $i]);}?>

sans autre resultat

je desespere ... :(