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 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141
| <?php
/*echo("<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>\n "); */
/* Variables de connexion : ajustez ces paramétres selon votre propre environnement */
$serveur = "localhost";
$admin = "root";
$mdp = "";
$base = "asterisk";
/* On récupére si elle existe la valeur de la région envoyée par le formulaire */
$idr = isset($_POST['categorie'])?$_POST['categorie']:null;
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" xml:lang="fr" />
<title>Sélectionner un département selon la région choisie</title>
<meta name="description" content="Listes déroulantes dynamiques inter-dépendantes" />
<meta name="keywords" content="" />
<meta name="author" content="Cyrano" />
<meta name="generator" content="Zend Studio Environnement et WebExpert 5" />
<meta http-equiv="imagetoolbar" content="no" />
<meta http-equiv="Pragma" content="no-cache" />
</head>
<body style="font-family: verdana, helvetica, sans-serif; font-size: 85%">
<?php
if(isset($_POST['ok']) && isset($_POST['nature']) && $_POST['nature'] != "")
{
$cat_selectionnee = $_POST['categorie'];
$nat_selectionne = $_POST['nature'];
?>
<p>Vous avez sélectionné le département <?php echo($nat_selectionne); ?> dans la région <?php echo($cat_selectionnee); ?></p>
<?php
}
?>
<h3>Choisissez une categorie puis une nature</h3>
<?php
/* On établit la connexion à* MySQL avec mysql_pconnect() plutot qu'avec mysql_connect()
* car on aura besoin de la connexion un peu plus loin dans le script */
$connexion = mysql_pconnect($serveur, $admin, $mdp);
if($connexion != false)
{
$choixbase = mysql_select_db($base, $connexion);
$sql1 = "SELECT `id_cat`, `categorie`".
" FROM `categorie`".
" ORDER BY `id_cat`";
$rech_cat = mysql_query($sql1);
$code_cat = array();
$cat = array();
/* On active un compteur pour les régions */
$nb_cat = 0;
if($rech_cat != false)
{
while($ligne = mysql_fetch_assoc($rech_cat))
{
array_push($code_cat, $ligne['id_cat']);
array_push($cat, $ligne['categorie']);
/* On incrémente de compteur */
$nb_cat++;
}
}
?>
<form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post" id="chgdept">
<select name="categorie" id="categorie" onchange="document.forms['chgdept'].submit();">
<option value="-1">- - - Choisissez une categorie - - -</option>
<?php
for($i = 0; $i < $nb_cat; $i++)
{
?>
<option value="<?php echo($code_cat[$i]); ?>"<?php echo((isset($idr) && $idr == $code_cat[$i])?" selected=\"selected\"":null); ?>><?php echo($cat[$i]); ?></option>
<?php
}
?>
</select>
<?php
mysql_free_result($rech_cat);
/* On commence par vérifier si on a envoyé un numéro de région et le cas échéant s'il est différent de -1 */
if(isset($idr) && $idr != -1)
{
/* Cération de la requàªte pour avoir les départements de cette région */
$sql2 = "SELECT `id_nat`, `titre`".
" FROM `nature`".
" WHERE `id_cat` = ". $idr ."".
" ORDER BY `id_nat`;";
if($connexion != false)
{
$rech_nat = mysql_query($sql2, $connexion);
/* Un petit compteur pour les départements */
$nd = 0;
/* On crée deux tableaux pour les numéros et les noms des départements */
$code_nat = array();
$nom_nat = array();
/* On va mettre les numéros et noms des départements dans les deux tableaux */
while($ligne_nat = mysql_fetch_assoc($rech_nat))
{
array_push($code_nat, $ligne_nat['id_nat']);
array_push($nom_nat, $ligne_nat['titre']);
$nd++;
}
/* Maintenant on peut construire la liste déroulante */
?>
<select name="nature" id="nature">
<?php
for($d = 0; $d<$nd; $d++)
{
?>
<option value="<?php echo($code_nat[$d]); ?>"<?php echo((isset($nat_selectionne) && $nat_selectionne == $code_nat[$d])?" selected=\"selected\"":null); ?>><?php echo($nom_nat[$d]." "); ?></option>
<?php
}
?>
</select>
<?php
}
/* Un petit coup de balai */
mysql_free_result($rech_nat);
}
?>
<br />
<p>
<tr>
<td>
<textarea rows="2" name="areaSaisie" cols="30">
</textarea>
</td>
</tr>
</p>
<br /><input type="submit" name="ok" id="ok" value="Enregistrer" />
</form>
<?php
/* Terminé, on ferme la connexion */
mysql_close($connexion);
}
else
{
/* Si on arrive là*, c'est pas bon signe, il faut vérifier les
* paramétres de connexion, mot de passe, serveur pas démarré etc... */
?>
<p>Un incident s'est produit lors de la connexion à* la base de données, veuiillez essayer à* nouveau ultérieurement.</p>
<?php
}
?>
</body>
</html> |
Partager