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 -
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>";
?>
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:
- Liste deroulante
- Liste déroulante excel - Guide
- Liste déroulante en cascade - Guide
- Liste déroulante google sheet - Accueil - Guide bureautique
- Liste code ascii - Guide
- Site dangereux liste - Guide
6 réponses
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
- si tes valeurs sont dans une BDD
- si tu ne veux pas le rechargement de la page
il faut prévoir une autre solution
<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
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
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...
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...
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/
http://www.6ma.fr/tuto/listes-deroulantes-dynamiques-en-ajax/
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question