Précédent   Forum des professionnels en informatique > PHP > Langage > Formulaires
Formulaires Forum d'entraide sur les formulaires avec PHP. Avant de poster -> FAQ formulaires, Cours de formulaires et Sources de formulaires
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 10/03/2008, 12h59   #1
Membre à l'essai
 
Inscription : juillet 2004
Messages : 129
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 129
Points : 21
Points : 21
Par défaut Liste déroulante pour sélection à partir d'un tableau PHP

bonjour a tous

J ai le pb suivant sur un formulaire :

j ai un tableau de valeurs :

$var[1]=valeur1;
$var[2]=valeur2;
$var[3]=valeur3;
$var[4]=valeur4;

etc.....

je veux les afficher dans un select recuperer la valeur selectionnée et la reafficher en cas de non soumission du formulaire.



Code :
1
2
3
4
5
6
7
8
9
<select name='cat' class='select'>
<option  value=''>Catégories</option>
";	
for($i = 1; $i < 32; $i++)
{
echo "<option value='$i'"; if ($cat==$cat[$i]) echo 'selected';echo ">$cat[$i]</option>";
}
echo"		
</select>
je recuper ma valeur ainsi :

$cat = $_POST['cat'];


le pb est lesuivant :

Ca marche pas.Le select reaffiche l option selectionnee mais seulement la premiere lettre, comme toutes les autres options, d ailleurs

Par avance merci de m aider a comprendre d ou vient mon erreur
nico72 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/03/2008, 13h20   #2
Membre Expert
 
Inscription : avril 2006
Messages : 1 338
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : avril 2006
Messages : 1 338
Points : 1 315
Points : 1 315
d'ou viens ton $cat[$i]
__________________
Stay in Bed .. Save Energy
boo64 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/03/2008, 13h26   #3
Membre à l'essai
 
Inscription : juillet 2004
Messages : 129
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 129
Points : 21
Points : 21
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
<select name='var' class='select'>
<option  value='var'>Catégories</option>
";	
for($i = 1; $i < 32; $i++)
{
echo "<option value='$i'"; if ($var==$var[$i]) echo 'selected';echo ">$var[$i]</option>";
}
echo"		
</select>
 
et
 
$var = $_POST['var']
j ajoute que contrairement a ce que je disais dans mon premier message, ça ne marche pas du tout
nico72 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/03/2008, 13h45   #4
Membre Expert
 
Inscription : avril 2006
Messages : 1 338
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : avril 2006
Messages : 1 338
Points : 1 315
Points : 1 315
ce la ne change rien a quoi correspond ton $var[$i]
__________________
Stay in Bed .. Save Energy
boo64 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/03/2008, 15h07   #5
Membre à l'essai
 
Inscription : juillet 2004
Messages : 129
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 129
Points : 21
Points : 21
a mon tableau de valeurs

$var[1]=valeur1;
$var[2]=valeur2;
$var[3]=valeur3;
$var[4]=valeur4;
nico72 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/03/2008, 16h00   #6
Membre Expert
 
Inscription : avril 2006
Messages : 1 338
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : avril 2006
Messages : 1 338
Points : 1 315
Points : 1 315
autant pour moi je n'avais pas vu dans ton premier post

remplace
Code :
1
2
 
if ($var==$var[$i])
par

car ton $_POST retournera la value de ton select qui est 1,2,3,4,..
__________________
Stay in Bed .. Save Energy
boo64 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/03/2008, 16h11   #7
Membre à l'essai
 
Inscription : juillet 2004
Messages : 129
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 129
Points : 21
Points : 21
ça ne m affice toujours que la premiere lettre de chaque option
nico72 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/03/2008, 16h21   #8
Membre Expert
 
Inscription : avril 2006
Messages : 1 338
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : avril 2006
Messages : 1 338
Points : 1 315
Points : 1 315
renomme ton $var déferrement il peut avoir confusion entre ton tableau et la variable
__________________
Stay in Bed .. Save Energy
boo64 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/03/2008, 17h19   #9
Membre à l'essai
 
Inscription : juillet 2004
Messages : 129
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 129
Points : 21
Points : 21
Je ne saisis pas bien ce que tu veux dire

Si je renomme ma variable, rien ne s'affiche
nico72 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/03/2008, 17h33   #10
Nouveau Membre du Club
 
Inscription : février 2008
Messages : 60
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 60
Points : 34
Points : 34
As-tu bien initialisé ton compteur i ?? (au cas oû )
xoflam est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/03/2008, 17h57   #11
Membre à l'essai
 
Inscription : juillet 2004
Messages : 129
Détails du profil
Informations forums :
Inscription : juillet 2004
Messages : 129
Points : 21
Points : 21
voila le code

Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
 
$cat[1] = 'Actualité-Média-Information';
$cat[2] = 'Annonces';
$cat[3] = 'Arts et Culture';
$cat[4] = 'Bons plans';
$cat[5] = 'Cadeaux';
$cat[6] = 'Charme';
$cat[7] = 'Communautaire';
$cat[8] = 'Concours';
$cat[9] = 'Emploi-Formation';
$cat[10] = 'Famille';
$cat[11] = 'Finance';
$cat[12] = 'Fleurs-Jardin';
$cat[13] = 'Gastronomie-Vin';
$cat[14] = 'Immobilier';
$cat[15] = 'Informatique';
$cat[16] = 'Internet';
$cat[17] = 'Jeux-Vidéos';
$cat[18] = 'Jeux-Loteries-Casino';
$cat[19] = 'Jouets-Jeux de société';
$cat[20] = 'Librairie-Presse';
$cat[21] = 'Loisirs';
$cat[22] = 'Maison';
$cat[23] = 'Mode';
$cat[24] = 'Musique';
$cat[25] = 'PTR-PTC-autosurf';
$cat[26] = 'Portail';
$cat[27] = 'Professionnel';
$cat[28] = 'Rencontres';
$cat[29] = 'Santé-Beauté';
$cat[30] = 'Sciences';
$cat[31] = 'Son-Photo-Vidéo';
$cat[32] = 'Sport';
$cat[33] = 'Télécommunications';
$cat[34] = 'Transports';
$cat[35] = 'Vie pratique';
$cat[36] = 'Voyages';
$cat[37] = 'X-adultes';
$cat[38] = 'Divers';
 
echo "
<form method='post' action='inscription-site.php' name='inscription-site' id='idform'>
<table>	
	<tr>
		<td>
		<select name='cat'>";
    	for($i = 1; $i < 32; $i++)
      	{
        $selected = (isset($_POST['cat']) and $_POST['cat'] == $i)?'selected="selected"':'';
        echo "<option value='$i'"; if ($cat == $i){echo"selected=selected";}echo ">$cat[$i]</option>";
      	}   
		echo" 
  		</select>
		</td>		
	</tr>	
</table>
le resultat est visible ici :
http://www.vivannuaire.fr/inscription-site.php
nico72 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 11/03/2008, 09h35   #12
Membre Expert
 
Inscription : avril 2006
Messages : 1 338
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : avril 2006
Messages : 1 338
Points : 1 315
Points : 1 315
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
echo "
<form method='post'  name='inscription-site' id='idform'>
<table>	
	<tr>
		<td>
		<select name='cat'>";
    	for($i = 1; $i < 32; $i++)
      	{
        echo '<option value="'.$i.'"';
		if (isset($_POST['cat']) && $_POST['cat'] == $i) echo "selected";
		echo '>'.$cat[$i].'</option>';
      	}   
 
?>
  		</select>
		</td>		
	</tr>	
</table>
essaye ça
__________________
Stay in Bed .. Save Energy
boo64 est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h49.


 
 
 
 
Partenaires

Hébergement Web