Bonjour,

Je cale totalement pour organiser les valeurs de 2 tables (departements et regions) dans une liste de sélection. Le but étant de présenter les valeurs de façon imbriquées sous la forme :

Alsace
67 Bas-Rhin
68 Haut-Rhin
Aquitaine
24 Dordogne
33 Gironde
etc.

Voici mon 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
 
// Requête SQL
$rqSql = "SELECT num_dept, libelle_dept, nom_reg, regions.id_reg 
             FROM departements, regions 
             WHERE departements.id_reg = regions.id_reg 
             ORDER BY 4, 1";
// Exécution de la requête
$result = mysql_query( $rqSql, $idConnect)
             or die( "Exécution requête impossible !");
mysql_close( $idConnect);
// Construction de la chaîne de caractères qui fait la liste
$ldep = "<SELECT NAME='listDept'>";
$ldep .= "<OPTION VALUE=0>Choisissez</OPTION>";
// On boucle sur les tables
while ( $row = mysql_fetch_array( $result)) {
    $nomreg = $row["nom_reg"];
    $numdep = $row["num_dept"];
    $nomdep = $row["libelle_dept"];
    $ldep .= "<OPTION VALUE='$nomreg'>$nomreg</OPTION>";
    $ldep .= "<OPTION VALUE='$numdep'>$nomdep</OPTION>";
}
$ldep .= "</SELECT>";
 
print $ldep;
 
?>
Mais le résultat donne :

Alsace
67 Bas-Rhin
Alsace
68 Haut-Rhin
Aquitaine
24 Dordogne
Aquitaine
33 Gironde
etc.

Voir exemple sur http://www.gigaprint.fr/testphp/inc-test.php

Et après de nombreuses recherches sur le web, je n'arrive pas à trouver la solution.

Merci pour vos contributions.