PHP:problème de liste déroulante

Résolu/Fermé
j'en ai marre de ne rien trouver en cherchant - 1 avril 2008 à 15:22
colas31 Messages postés 135 Date d'inscription samedi 5 août 2006 Statut Membre Dernière intervention 21 décembre 2010 - 1 avril 2008 à 18:22
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.
A voir également:

8 réponses

colas31 Messages postés 135 Date d'inscription samedi 5 août 2006 Statut Membre Dernière intervention 21 décembre 2010 21
1 avril 2008 à 15:42
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
j'en ai marre de ne rien trouver en cherchant
1 avril 2008 à 16:53
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
Utilisateur anonyme
1 avril 2008 à 15:46
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
j'en ai marre de ne rien trouver en cherchant
1 avril 2008 à 16:31
merci à toi mais j'avais précisé que c'est avec sans alert();
merci quand méme pour ton aide
0
j'en ai marre de ne rien trouver en cherchant
1 avril 2008 à 16:31
je vais essayer
0
colas31 Messages postés 135 Date d'inscription samedi 5 août 2006 Statut Membre Dernière intervention 21 décembre 2010 21
1 avril 2008 à 17:06
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
j'en ai marre de ne rien trouver en cherchant
1 avril 2008 à 17:10
merci encore à toi, je suis persuadé que t'es ingénieur en info
0
j'en ai marre de ne rien trouver en cherchant
1 avril 2008 à 17:22
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
colas31 Messages postés 135 Date d'inscription samedi 5 août 2006 Statut Membre Dernière intervention 21 décembre 2010 21
1 avril 2008 à 17:15
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
j'en ai marre de ne rien trouver en cherchant
1 avril 2008 à 17:41
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
j'en ai marre de ne rien trouver en cherchant
1 avril 2008 à 17:45
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

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
JuB0 Messages postés 654 Date d'inscription jeudi 27 décembre 2007 Statut Membre Dernière intervention 6 mai 2012 81
1 avril 2008 à 17:39
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
colas31 Messages postés 135 Date d'inscription samedi 5 août 2006 Statut Membre Dernière intervention 21 décembre 2010 21
1 avril 2008 à 17:42
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
colas31 Messages postés 135 Date d'inscription samedi 5 août 2006 Statut Membre Dernière intervention 21 décembre 2010 21
1 avril 2008 à 17:52
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
colas31 Messages postés 135 Date d'inscription samedi 5 août 2006 Statut Membre Dernière intervention 21 décembre 2010 21
1 avril 2008 à 18:22
<?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