Bonjour, j'ai un problème pour afficher ma liste déroulante dans mon formulaire. Je pense que le problème se situe plus au niveau de ma requête. Si quelqu'un peut m'aider à afficher les catégories et leurs sous-catégories...
Voici ma base de données:

id id_parent nom_fr nom_en in_form
1 0 Accueil ... 0
...
2 0 Immobilier ... 1
201 2 Vente de Maisons ... 1
202 2 Location de Maisons ... 1
203 2 Vente d Appartements ... 1
204 2 Location d Appartements ... 1
205 2 Bureaux ... 1
206 2 Terrains ... 1
...
3 0 Véhicules .. . 1
301 3 Voitures ... 1
301 3 Motos ... 1
302 3 Accessoires ... 1
...
4 0 Multimedia ... 1
401 4 Téléphones ... 1
402 4 Télévisions ... 1
...
5 0 ... ... 1
...
9 0 Contact ... 0

Ma fonction:
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
function getCategories(){
  global $bdd;
 
$sql_lang = (!empty(($_SESSION['lang']) && in_array($_SESSION['lang'], ['fr','en','es']) ))? $_SESSION['lang'] : 'fr'; 
 
 
$sql= "SELECT id, id_parent, nom_".$sql_lang." AS nom
FROM categories
WHERE id_parent=0
AND in_form=1
ORDER BY id
";
 
   try{
      $req = $bdd->prepare($sql);
      $req->execute();
      $res =  $req->fetchAll(PDO::FETCH_ASSOC);
    }catch(Exception $e){
        echo "Erreur dans la requête " . $sql;
        $res = false;
    }
return $res;
}
Page du formulaire pour afficher les résultats:
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
<select name="categorie">
 
                <option value="" disabled selected><?php echo $lang['categorie'];?></option>
 
                <?php
$categories= getCategories();
 
foreach($categories as $C){
 echo "<optgroup label ='".$C['id_parent']."'> ".$C['nom']." 

 '<option value='".$C['id']."'>".$C['nom']."</option>'

</optgroup>";
}
  ?>
</select>
Et ce que j'obtiens en photo:
Nom : om3.png
Affichages : 116
Taille : 9,2 Ko