PHP:problème de liste déroulante

Résolu/Fermé
Signaler
-
Messages postés
135
Date d'inscription
samedi 5 août 2006
Statut
Membre
Dernière intervention
21 décembre 2010
-
Bonjour,je suis en galère,ça fait des heures que je cherche...sans rien trouver.
Je commence à désespérer.
Mon problème est un cas d'école: moi, ce que je n'arrive pas à faire c'est d'afficher un message en fonction de ce que j'ai sélectionner dans une liste déroulante, et ce sans passer par le bouton submit, et je veux que ce message s'affiche en dessous de la liste déroulante, et pas dans une petite fenêtre du style window.alert().
Svp,aider-moi,j'en peux plus.

Voici mon code(ici, ce que je n'arrive pas à faire,c'est que dès que vous avez sélectionné un département, et bein il ya un message qui vous informe quel département vous avez sélectionné) :

<html>
<body>
<?php

echo"
<form>
<select name='département'>
<option value=1>Paris</option>
<option value=2>Seine-et-Marne</option>
<option value=3 selected>Poissy</option>
</select>
</form>";

if(form.département.value==1)
{echo"vous avez sélectionné Paris";}

elseif(form.département.value==2)
{echo"vous avez sélectionnér Seine-et-Marne";}

elseif(form.département.value==3)
{echo"vous avez sélectionnér Poissy";}

?>
</body>
</html>

Merci d'avance à tous.

8 réponses

Messages postés
135
Date d'inscription
samedi 5 août 2006
Statut
Membre
Dernière intervention
21 décembre 2010
21
bonjour,
Tu est sur de ton code "form.département.value" c'est plutot du javascript ca ? non

essaye ceci
<form method="get" >
<select name='département' value="$departement" onChange="this.form.submit();">
.....

en premierere ligne de ton code :
<?php
@$département=$_GET['département];
?>
et apres tu test a quoi est egal ta varible
if($département==1)
....


VOila
0

Bonjour colas31,merci beaucoup pour ton aide car ton code marche.
Mais en fait,il marche à moitié (tu peux peut copier-coller avec le script ci-dessous, et l'essayer pour le constater):
D'abord, lorsque je sélectionne un département par exemple, et bein ça affiche bien en "echo" le département sélectionné, sauf que la liste déroulante revient sur le choix initial.
Deuxièment lorsque je sélectionne le 1er choix de la liste, ici Paris, et bein ça n'affiche rien en echo pour Paris.
Donc comment je peux régler ce défaut.
Voici le code(1.php):
<?php
@$département=$_GET[département];
?>

<html>
<body>
<?php

echo"
<form method=get>
<select name=département value='$departement' onChange=this.form.submit();>
<option value=1>Paris</option>
<option value=2>Seine-et-Marne</option>
<option value=3>Poissy</option>
</select>
</form>";

if($département==1)
{echo"vous avez sélectionné Paris";}

elseif($département==2)
{echo"vous avez sélectionné Seine-et-Marne";}

elseif($département==3)
{echo"vous avez sélectionné Poissy";}

?>
</body>
</html>
0

Bonjour,


voilà quelque chose qui affiche 1 2 ou 3 (la valeur du champ sélectionné)en focntion du choix

<html>
<script language='javascript'>
function alerte() {
alert(document.formulaire.département.value);
}
</script>
<body>
<?php

echo"
<form name='formulaire'>
<select name='département' onchange='alerte();'>
<option value=1 >Paris</option>
<option value=2 >Seine-et-Marne</option>
<option value=3 selected >Poissy</option>
</select>
</form>";

?>
</body>
</html>
0

merci à toi mais j'avais précisé que c'est avec sans alert();
merci quand méme pour ton aide
0

je vais essayer
0
Messages postés
135
Date d'inscription
samedi 5 août 2006
Statut
Membre
Dernière intervention
21 décembre 2010
21
alors en fait il faudrait que tu fasse ceci :
tu creer un tableau avec la liste des variable que tu veux dans ta liste déroulante :

<?php
@$département=$_GET[département];
if($département== NULL)
{
$département= "Paris";
}
?>


$ville = array("Paris","Seine-et-Marne","Poissy");

echo"
<form method=get>
<select name=département value='$departement' onChange=this.form.submit();>
for($j=0; $j<=2; $j++ )
{
if ($ville[$j] == $département)
{
echo '<option selected value="'.$département.'">'.$département.'</option>';
}
else
{
echo '<option value="'.$ville[$j].'">'.$ville[$j].'</option>';
}

}

</select>
</form>";

if($département==1)
{echo"vous avez sélectionné Paris";}

elseif($département==2)
{echo"vous avez sélectionné Seine-et-Marne";}

elseif($département==3)
{echo"vous avez sélectionné Poissy";}

?>
</body>
</html>

VOila normalement ceci devrait corriger ton probleme
0

merci encore à toi, je suis persuadé que t'es ingénieur en info
0

Bonjour colas31, lorsque je reécris ton code, voilà ce qui est affiché:
Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in C:\wamp\www\1.php on line 17, alors que je ne sait pas ou se trouve l'erreur,(tu peux le constater en faisant copier-coller le script ci dessous):


<?php
@$département=$_GET['département'];
if($département== NULL)
{
$département='Paris';
}
?>

<?php
$ville = array('Paris','Seine-et-Marne','Poissy');

echo"
<form method=get>
<select name=département value=$departement onChange=this.form.submit();>
for($j=0; $j<=2; $j++ )
{ if ($ville[$j] == $département)
{echo"<option selected value=$département>$département</option>";}
else
{echo"<option value=$ville[$j]>$ville[$j]</option>"; }

}

</select>
</form>";

if($département==1)
{echo"vous avez sélectionné Paris";}

elseif($département==2)
{echo"vous avez sélectionné Seine-et-Marne";}

elseif($département==3)
{echo"vous avez sélectionné Poissy";}

?>
</body>
</html>
0
Messages postés
135
Date d'inscription
samedi 5 août 2006
Statut
Membre
Dernière intervention
21 décembre 2010
21
Ha pas de quoi :p

et non non pas ingénieur je suis en formation de DUT c'est tt ^^ Mais je veux le devenir ;)
0

Bein tant mieux car t'es vraiment très calé en infos.
J'espère que t'a remarqué dans mon précédent message,car je n'ai toujours pas résolu le pb
0

Bein tant mieux car t'est vraiment calé en info.
Dans ton code que tu m'as donné,il y a un petit problème: lorsque je reécris ton code, voilà ce qui est affiché:
Parse error: syntax error, unexpected T_STRING, expecting ',' or ';' in C:\wamp\www\1.php on line 17, alors que je ne sait pas ou se trouve l'erreur,(tu peux le constater en faisant copier-coller le script ci dessous):

<?php
@$département=$_GET['département'];
if($département== NULL)
{
$département='Paris';
}
?>

<?php
$ville = array('Paris','Seine-et-Marne','Poissy');

echo"
<form method=get>
<select name=département value=$departement onChange=this.form.submit();>
for($j=0; $j<=2; $j++ )
{if ($ville[$j] == $département)
{echo"<option selected value=$département>$département</option>";}
else
{echo"<option value=$ville[$j]>$ville[$j]</option>"; }

}

</select>
</form>";

if($département==1)
{echo"vous avez sélectionné Paris";}

elseif($département==2)
{echo"vous avez sélectionné Seine-et-Marne";}

elseif($département==3)
{echo"vous avez sélectionné Poissy";}

?>
</body>
</html>
0
Messages postés
654
Date d'inscription
jeudi 27 décembre 2007
Statut
Membre
Dernière intervention
6 mai 2012
79
Salut,
1. pas d'accent dans les noms de variables
2.
echo"
<form method=get>
<select name=département value=$departement onChange=this.form.submit();>
for($j=0; $j<=2; $j++ )
{ if ($ville[$j] == $département)
{echo"<option selected value=$département>$département</option>";}
else
{echo"<option value=$ville[$j]>$ville[$j]</option>"; }

}

</select>
</form>";


C'est quoi ? (ou plutot tu veux faire quoi ?)
0
Messages postés
135
Date d'inscription
samedi 5 août 2006
Statut
Membre
Dernière intervention
21 décembre 2010
21
voila le script modifier il y avait un probleme d'accent et de condition ;)

<?php
@$departement=$_GET['departement'];
if($departement== NULL)
{
$departement='Paris';
}
?>

<?php
$ville = array('Paris','Seine-et-Marne','Poissy');

echo"
<form method=get>
<select name=departement value=$departement onChange=this.form.submit();> ";
for($j=0; $j<=2; $j++ )

{ if ($ville[$j] == $departement)
{
echo'<option selected value='.$departement.'>'.$departement.'</option>';
}
else
{
echo'<option value='.$ville[$j].'>'.$ville[$j].'</option>';
}

}
echo"
</select>
</form>";

if($departement=="Paris")
{echo"vous avez sélectionné Paris";}

elseif($departement=="Seine-et-Marne")
{echo"vous avez sélectionné Seine-et-Marne";}

elseif($departement=="Poissy")
{echo"vous avez sélectionné Poissy";}

?>
</body>
</html>
0
Messages postés
135
Date d'inscription
samedi 5 août 2006
Statut
Membre
Dernière intervention
21 décembre 2010
21
revoila le code

<?php
@$departement=$_GET['departement'];
if($departement== NULL)
{
$departement='Paris';
}
?>

<?php
$ville = array('Paris','Seine-et-Marne','Poissy');

echo"
<form method=get>
<select name=departement value=$departement onChange=this.form.submit();> ";
for($j=0; $j<=2; $j++ )

{ if ($ville[$j] == $departement)
{
echo'<option selected value='.$departement.'>'.$departement.'</option>';
}
else
{
echo'<option value='.$ville[$j].'>'.$ville[$j].'</option>';
}

}
echo"
</select>
</form>";

if($departement=="Paris")
{echo"vous avez sélectionné Paris";}

elseif($departement=="Seine-et-Marne")
{echo"vous avez sélectionné Seine-et-Marne";}

elseif($departement=="Poissy")
{echo"vous avez sélectionné Poissy";}

?>
</body>
</html>
0
Messages postés
135
Date d'inscription
samedi 5 août 2006
Statut
Membre
Dernière intervention
21 décembre 2010
21
<?php
@$departement=$_GET['departement'];
if($departement== NULL)
{
$departement='Paris';
}
?>

<?php
$ville = array('Paris','Seine-et-Marne','Poissy');

echo"
<form method=get>
<select name=departement value=$departement onChange=this.form.submit();> ";
for($j=0; $j<=2; $j++ )

{ if ($ville[$j] == $departement)
{
echo'<option selected value='.$departement.'>'.$departement.'</option>';
}
else
{
echo'<option value='.$ville[$j].'>'.$ville[$j].'</option>';
}

}
echo"
</select>
</form>";

if($departement=="Paris")
{echo"vous avez sélectionné Paris";}

elseif($departement=="Seine-et-Marne")
{echo"vous avez sélectionné Seine-et-Marne";}

elseif($departement=="Poissy")
{echo"vous avez sélectionné Poissy";}

?>
</body>
</html>
0