Bonjour a tous !!
Après quelques jours de recherche, je me résout a venir demandé de l'aide ici...

Je suis en train de créer une application web concernant la gestion des bâtiments.
J'ai créer un formulaires avec trois listes déroulantes :
- Denomination des batiments (unique)
- Adresses des batiments (un meme nom pour plusieurs adresses)
- Type des batiments
J'aimerai qu'en sélectionnant le nom du batiment dans la 1ere liste, que la 2eme liste avec les adresses des batiments soit mise a jour. Et de meme pour la 3eme en choisissant l'adresse du batiment dans la deuxieme liste...

J'ai donc modifié mon code en conséquence !!
Mais voila que lorsque je fais mon choix dans la 1ere liste deroulante, cela se met a jour en remettant la valeur de depart "Veuillez selectionner ...", sans m'afficher la deuxieme liste !!!
Mon probleme doit venir des actions sur les formulaires ou les listes, mais je ne vois pas ou ... Si quelqu'un pouvait m'aider ...
Voici le code ==>
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
 
<?php
// Paramètres de connection
$user = "****";
$pass = "****";
$host = "****";
$bdd = "CG_test";
?>
 
<html xmlns="http://www.w3.org/1999/xhtml">
 
<head>
  <title></title>
</head>
 
<body>
 
 
<?php
// On récupère si elle existe la valeur du nom de batiment envoyée par le formulaire
$idBat = isset($_POST['nomSite'])?$_POST['nomSite']:null;
 
if(isset($_POST['rueSite']) && $_POST['rueSite'] != "")
{
    $siteSelect = $_POST['nomSite'];
    $adSelect = $_POST['rueSite'];
}
 
// Connexion
$connect = mssql_connect($host,$user,$pass);
if($connect != false)
{
//Sélection de la base
$db = mssql_select_db($bdd, $connect);
$sql1 = "SELECT numNomSite, nomSite FROM NOM_SITE ORDER BY nomSite";
$rechSite = mssql_query($sql1);
$numSite = array();
$nomSite = array();
// On active un compteur pour les sites
$nbSites = 0;
if($rechSite != false)
{
    while($ligne = mssql_fetch_array($rechSite))
    {
        array_push($numSite, $ligne['numNomSite']);
        array_push($nomSite, $ligne['nomSite']);
        // On incrémente de compteur
        $nbSites++;
    }
}
?>
 
<form name="monFormSite" id="idFormSite" method="post" action="<?php echo($_SERVER['PHP_SELF']); ?>">
    <p>
        Nom du site :
        <select name="monSite" id="idMonSite" onchange="document.forms['idFormSite'].submit();">
        <option value="-1">Veuillez sélectionner un nom de site</option>
            <?php
            for($i = 0; $i < $nbSites; $i++)
            {
                ?>
                <option value="<?php echo($numSite[$i]);?>"<?php echo((isset($idBat) && $idBat == $numSite[$i])?" selected=\"selected\"":null); ?>><?php echo($nomSite[$i]); ?></option>
                <?php
            }
            ?>
        </select>
    </p>
    <p>
    <?php
    mssql_free_result($rechSite);
    // On commence par vérifier si on a envoyé un numéro de site et le cas échéant s'il est différent de -1
    if(isset($idBat) && $idBat != -1)
    {
        $sql2 = "SELECT ADRESSE_SITE.numAdresseSite, rueSite, ville FROM ADRESSE_SITE, NOM_SITE WHERE ADRESSE_SITE.numNomSite = NOM_SITE.numNomSite
        AND ADRESSE_SITE.numNomSite = '".$idBat."' ORDER BY ville";
        // On récupère les données de la BDD
        $rechAd = mssql_query($sql2);
        // Un petit compteur pour les adresses
        $nbAd = 0;
        // On crée deux tableaux pour les numéros et les adresses des sites
        $numAd = array();
        $rueAd = array();
        //$villeAd = array();
        // On va mettre les numéros et noms des départements dans les deux tableaux
        while($ligneAd = mssql_fetch_array($rechAd))
        {
          array_push($numAd, $ligneAd['numAdresseSite']);
          array_push($rueAd, $ligneAd['rueSite']);
          //array_push($villeAd, $ligneAd['ville']);
          $nbAd++;
        }
        // Maintenant on peut construire la liste déroulante
    ?>
        Adresse du site :
        <select name="monAdresse" id="idMonAdresse">
        <option value="0" selected>Veuillez sélectionner l'adresse du site</option>
            <?php
            for($ad = 0; $d<$nbAd; $ad++)
            {
            ?>
                <option value="<?php echo($numAd[$d]); ?>"<?php echo((isset($adSelect) && $adSelect == $numAd[$ad])?" selected=\"selected\"":null); ?>><?php echo($rueSite[$ad]." (". $numAd[$ad] .")"); ?></option>
            <?php
            }
        }
 
            ?>
 
        </select>
 
    </p>
 
 
</form>
<?php
    /* Terminé, on ferme la connexion */
    mssql_close($connect);
}
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>
Merci d'avance a ceux qui me répondrons