Liste deroulante

vinsbil Messages postés 45 Date d'inscription   Statut Membre Dernière intervention   -  
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
salut je viens de créé 2 listes déroulantes qui marche de la maniere suivante losque le premier est selectionner le second doit avoir des proprieter bien defini ainsi de suite alor jaimerai savoir comment sa se passe voici mon code


<select name="region" id="">
<option value="01">lagune</option>
<option value="02">zanzan</option>
<option value="04">moyen cavaly</option>
</select>

</td>
</tr>
<tr>
<td>LIEU DE NAISSANCE</td>
<td>

<?php
echo "<select name='lieunaiss'>";

if ($_POST['region']=01)
{
echo "<option value='abi'>abidjan</option>";
echo "<option value='bing'>bingerville</option>";
echo "<option value='any'>anyaman</option>";
echo "<option value='bass'>bassam</option>";
}
elseif ($_POST['region']=02)
{
echo "<option value='bkou'>bondoukou</option>";
echo "<option value='bing'>bouna</option>";
echo "<option value='any'>tanda</option>";
echo "<option value='bass'>goumere</option>";
}
elseif($_POST['region']=03)
{
echo "<option value='bke'>bouake</option>";
echo "<option value='dal'>daloa</option>";
echo "<option value='dab'>dabakala</option>";
echo "<option value='ser'>serebou</option>";
}

echo "</select>";

?>


A voir également:

6 réponses

Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
je t'ai modifié ton code pour qu'il fonctionne bien que ce ne soit pas la meilleure solution, surtout si tu as beaucoup de valeurs dans liste 1

<form name="form1" action="" method="post" >
<select name="region" id="region" onchange="submit();">
<option value="-1" <?php if(isset($_POST['region']) && $_POST['region'] == "-1") {echo "selected";} ?> >Choisissez</option>
<option value="01" <?php if(isset($_POST['region']) && $_POST['region'] == "01") {echo "selected";} ?> >lagune</option>
<option value="02" <?php if(isset($_POST['region']) && $_POST['region'] == "02") {echo "selected";} ?> >zanzan</option>
<option value="04" <?php if(isset($_POST['region']) && $_POST['region'] == "04") {echo "selected";} ?> >moyen cavaly</option>
</select>
<!-- ci dessus, qd on change la selection dans la lsite ça poste le formualire (rechargement de la page)
if(isset($_POST['region']) && $_POST['region'] == "01") {echo "selected";} c'est pour que la valeur selectionnée reste affichée lors du rechargement de la page
la première option choisisssez c'est pour avoir un changement obligatoire de selection, sinon on ne pourrait pas selectionner l'option 1
 -->
</td>
</tr>
<tr>
<td>LIEU DE NAISSANCE</td>
<td>

<?php
if(isset($_POST['region']) && $_POST['region'] != "-1"){

	echo "<select name='lieunaiss'>";

	if ($_POST['region']=="01") //attention comparaison c'est == et pas =
	{
	echo "<option value='abi'>abidjan</option>";
	echo "<option value='bing'>bingerville</option>";
	echo "<option value='any'>anyaman</option>";
	echo "<option value='bass'>bassam</option>";
	}
	elseif ($_POST['region']=="02")
	{
	echo "<option value='bkou'>bondoukou</option>";
	echo "<option value='bing'>bouna</option>";
	echo "<option value='any'>tanda</option>";
	echo "<option value='bass'>goumere</option>";
	}
	elseif($_POST['region']=="03")
	{
	echo "<option value='bke'>bouake</option>";
	echo "<option value='dal'>daloa</option>";
	echo "<option value='dab'>dabakala</option>";
	echo "<option value='ser'>serebou</option>";
	}

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


- si tes valeurs sont dans une BDD
- si tu ne veux pas le rechargement de la page

il faut prévoir une autre solution
1
woulfmoon Messages postés 110 Date d'inscription   Statut Membre Dernière intervention   8
 
le lien que je lui ai fournis est nickel pour ça
0
woulfmoon Messages postés 110 Date d'inscription   Statut Membre Dernière intervention   8
 
en gros si tu sélectionnes lagune avec value="01" dans ton option (balise de liste déroulante) dans ta première liste déroulante tu appels abidjan, bingerville, anyaman, bassam grâce à une variable de session php qui compare avec la value de ta première liste déroulante et comme $_POST['region']=01 ça affiche tout ça, même logique pour la value 2 et la value 3.

As tu compris?
Si tu as une base de données, je peux te proposer un code un peu plus propre et qui ne nécessite pas de rechargement de page comme en ce moment avec ce code...
0
vinsbil Messages postés 45 Date d'inscription   Statut Membre Dernière intervention  
 
mai ce code il est juste ou pas passe que sa ne marche pas je ne comprend pas pourquoi
0
woulfmoon Messages postés 110 Date d'inscription   Statut Membre Dernière intervention   8
 
regardes plus du côté d'ajax avec une base de données ce sera beaucoup plus simple.

http://www.6ma.fr/tuto/listes-deroulantes-dynamiques-en-ajax/
0

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

Posez votre question
woulfmoon Messages postés 110 Date d'inscription   Statut Membre Dernière intervention   8
 
petite question lances tu ton code avec wamp ou un soft du même style?
0
Alain_42 Messages postés 5361 Date d'inscription   Statut Membre Dernière intervention   894
 
non ton code n'est pas juste, il faut que suite a un choix dans la premiere liste il y ait un nouvel appel au script php, pour que ce choix passe par tes if(...) elseif(..)

mais je suis d'accord avec woulfmoon avec une BDD et Ajax c'est beaucoup mieux
0