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 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
| <form method="post" name="liste">
<label>Départements : </label>
<select name="dep" id="dep" onchange="com(this.value);">
<option value="vide">- - - Choisissez un département - - -</option>
<?php
//Connexion à la base de données
include("connexion.php");
//On sélectionne tous les départements
$selectdep = mysql_query("SELECT num_dep,nom FROM dep ORDER BY num_dep") or die (mysql_error());
while($donnees = mysql_fetch_array($selectdep))
{
echo '<option value="'.$donnees['num_dep'].'"';
if(isset($_POST["dep"]) && $_POST["dep"]==$donnees['num_dep']){echo " selected";}
echo '>'.$donnees['nom'].'</option>';
}
?>
</select><br/>
<!-- Dans ce bloc sera affiché la liste des départements -->
<div id="bloccom">
<?php
/*Pour garder la sélection de la seconde liste, on l'inclue directement dans la page lors de la validation du formulaire*/
if(isset($_POST['dep'])){
//on créer une variable utilisé dans la page "traitement.php"
$include = 1;
//on inclue la page
//Numéro du département
if(isset($_POST["dep"]) && $_POST["dep"] != 'vide'){
/*Si la variable $include n'existe pas c'est que le numéro du département passe par AJAX. On a donc besoin d'avoir une connexion avec la base de données.*/
/*Quand on poste le formulaire, cette page est inclue directement dans le div "bloccom", donc la connexion est inutile.*/
/*Si on inlcue cette page au moment de la validation, c'est uniquement pour garder la sélection "selected" de la liste.*/
if(!isset($include)){
//On indique le Content-Type utilisé
header('Content-Type: text/html; charset="iso-8859-1"');
//Variable de connexion BDD
include("connexion.php");
}
?>
<label>Communes : </label>
<select name="com" id="com">
<option value="vide">- - - Choisissez une commune - - -</option>
<?php
//On sélectionne les communes en fonction du numéro de département
$selectcom = mysql_query("SELECT num_com,nom FROM com WHERE num_dep=".mysql_real_escape_string($_POST["dep"])." ORDER BY nom") or die (mysql_error());
//On boucle
while($donnees = mysql_fetch_assoc($selectcom))
{
echo '<option value="'.$donnees['num_com'].'"';
if(isset($_POST["com"]) && $_POST["com"]==$donnees['num_com']){ echo " selected"; }
echo '>'.$donnees['nom'].'</option>';
}
?>
</select><br/>
<?php }
}
?>
</div> |
Partager