Bonjour,

Je suis entrain de concevoir un formulaire avec deux listes déroulantes qui sont liées c'est à dire que le choix d'un champ dans le premier change le contenu de la deuxième liste en php. Voici le code de cette tâche.
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
130
131
132
133
134
135
136
137
138
139
140
141
 
<?php
if(isset($_POST['ok']) && isset($_POST['sous_categ']) && $_POST['sous_categ'] != "")
{
    $categ_selectionnee = $_POST['categ'];
    $dept_selectionne = $_POST['sous_categ'];
?>
<p>Vous avez sélectionné la sous-catégorie <?php echo($dept_selectionne); ?> dans la catégorie <?php echo($categ_selectionnee); ?></p>
<p>
  <?php
}
?>
</p>
<p>
  <?php
 
$connexion = mysql_pconnect($serveur, $admin, $mdp);
if($connexion != false)
{
    $choixbase = mysql_select_db($base, $connexion);
    $sql1 = "SELECT `id_categ`, `categ`".
    " FROM `categ`".
    " ORDER BY `id_categ`";
    $rech_categs = mysql_query($sql1);
    $code_categ = array();
    $categ = array();
 
    /* On active un compteur pour les régions */
    $nb_categs = 0;
    if($rech_categs != false)
    {
        while($ligne = mysql_fetch_assoc($rech_categs))
        {
            array_push($code_categ, $ligne['id_categ']);
            array_push($categ, $ligne['categ']);
 
            /* On incrémente de compteur */
 
            $nb_categs++;
 
        }
 
    }
 
    ?>
</p>
<table align="center"><tr>
    <td width="536" height="31">
<form action="<?php echo($_SERVER['PHP_SELF']); ?>" method="post" id="chgdept">
 
<fieldset style="border: 3px double #333399">
 
<legend>Sélectionnez une catégorie</legend>
 
<p>
  <select name="categ" id="categ" onchange="document.forms['chgdept'].submit();">
 
    <option value="-1">- - - Choisissez une catégorie - - -</option>
 
    <?php
 
    for($i = 0; $i < $nb_categs; $i++)
 
    {
 
?>
 
    <option value="<?php echo($code_categ[$i]); ?>"<?php echo((isset($idr) && $idr == $code_categ[$i])?" selected=\"selected\"":null); ?>><?php echo($categ[$i]); ?></option>
 
    <?php
 
    }
 
    ?>
 
  </select>
   <?php echo $categ[1]; ?>  
  <?php
    mysql_free_result($rech_categs);
    /* 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_sous_categ`, `sous_categ`".
        " FROM `sous_categ`".
        " WHERE `id_categ` = ". $idr ."".
        " ORDER BY `id_sous_categ`;";
        if($connexion != false)
        {
            $rech_dept = 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_dept = array();
            $nom_dept = array();            /* On va mettre les numéros et noms des départements dans les deux tableaux */
            while($ligne_dept = mysql_fetch_assoc($rech_dept))
            {
                array_push($code_dept, $ligne_dept['id_sous_categ']);
                array_push($nom_dept, $ligne_dept['sous_categ']);
                $nd++;
            }
            /* Maintenant on peut construire la liste déroulante */
            ?>  
  <select name="sous_categ" id="sous_categ">
    <?php  
            for($d = 0; $d<$nd; $d++)
            {
                ?>
    <option value="<?php echo($code_dept[$d]); ?>"<?php echo((isset($dept_selectionne) && $dept_selectionne == $code_dept[$d])?" selected=\"selected\"":null); ?>><?php echo($nom_dept[$d]); ?></option 
    <?php
            }
?>
  </select>
  <?php
        }
        /* Un petit coup de balai */
        mysql_free_result($rech_dept);
    }
?>
  </p>
<p><br />
  <input type="submit" name="ok" id="ok" value="Envoyer" />
</p>
</fieldset>
</form>
</td>
  </tr>
</table>
<?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
}
?>
Mon problème est que je veux par la suite envoyer le contenu du formulaire entier vers une autre page mais je ne peut plus utiliser la balise form puisqu'il sert déjà pour la première tâche dans le choix du contenu de la deuxième liste déroulante. Aidez moi please