Bonjour,
J'ai deux menus déroulants dynamiques "nom_menu" et "enfant_menu" : les contenus (les options) de ces menus viennet d'un bdd MySql. En outre, on affiche les options du 2e menu selon la selectionne du 1er menu.
Mes deux menus marchent...
j'ai fait la condition pour afficher le résultat
- soit selon la sélection par 1er menu (nom_menu) --> if (!empty($_GET['nom']) && empty($_GET['enfant']))
- soit par les sélections par 2 menus... --> elseif (!empty($_GET['nom']) && !empty($_GET['enfant']))
La première condition marche, mais 2e condition ne marche pas...
Lorsque l'on choisit l'option du 1er menu, on affiche le résultat et 1er menu (nom_menu) affiche aussi l'option sélectionnée...
Je vois, par echo, que ma variable, $nom="".@$_GET['nom']; contient la valeur
Par contre, lorsque l'on sélectionne une option du 2e menu (enfant_menu), je n'arrive pas affiche le résultat selon les critères de 2 menus en plus 1er et 2 menus n'affiche plus l'option sélectionnée...
En outre, je vois, par echo, que ma variable, $nom="".@$_GET['nom']; ne contient plus sa valeur, mais ma 2e variable, $enfant="".@$_GET['enfant']; contient la valeur
Mes questions comment je peux afficher les résultats selon 2 menus ou bien comment je peux garder les valeurs de mes 2 variables ($nom et $enfant) et comment je peux garder les 2 menus avec leurs options sélectionnées ?
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
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 <select name="nom_menu" id="nom_menu" onChange="location.href='?nom='+this.value;"> <?php include"bd_db/selection_test.php"; echo "<option selected=\"selected\" value='null'>Choissiez une option</option>"; $res = " select DISTINCT bd_nom FROM $table_db ORDER BY bd_nom "; $rep_menu = mysql_query($res, $cnx) or die( mysql_error() ) ; while($affiche_contenu = mysql_fetch_assoc($rep_menu)) { echo '<option value="'.$affiche_contenu['bd_nom'].'"'; if($nom==$affiche_contenu['bd_nom']){echo " selected";} // pour afficher la selectionne echo '>'.$affiche_contenu['bd_nom'].'</option>'; } ?> </select><br /> <br /> <select name="enfant_menu" id="enfant_menu" onChange="location.href='?enfant='+this.value;"> <?php echo "<option selected=\"selected\" value='null'>Choissiez une option</option>"; if (!empty($_GET['nom'])) //si nom nest pas vide { $res_enfant = " select DISTINCT bd_enfant FROM $table_db WHERE bd_nom ='".$_GET['nom']."'"; $rep_menu_enfant = mysql_query($res_enfant, $cnx) or die( mysql_error() ) ; while($affiche_contenu_enfant = mysql_fetch_assoc($rep_menu_enfant)) { echo '<option value="'.$affiche_contenu_enfant['bd_enfant'].'"'; if($enfant==$affiche_contenu_enfant['bd_enfant']){echo " selected";} // pour afficher la selectionne echo '>'.$affiche_contenu_enfant['bd_enfant'].'</option>'; } } ?> </select><br /> <br /> <?php // $age=0+@$_GET['age']; // si numérique $nom="".@$_GET['nom']; // si alpha $enfant="".@$_GET['enfant']; if (!empty($_GET['nom']) && empty($_GET['enfant'])) { $cherche_option_menu = " select bd_age,bd_nom FROM $table_db WHERE bd_nom ='".$nom."'"; //::::--* requête sur un champ alphanumérique NOM ---//\\ $rep_cherche_option_menu = mysql_query($cherche_option_menu, $cnx) or die( mysql_error() ) ; while($row_menu=mysql_fetch_row($rep_cherche_option_menu)) { $var_nom=$row_menu[0]; echo "<table><tr><td>$var_nom</td><td></tr></table>" ; } } elseif (!empty($_GET['nom']) && !empty($_GET['enfant'])) { //::::--* requête sur un champ alphanumérique enfant ---//\\ $cherche_option_2menu = " select bd_nom,bd_enfant,bd_age FROM $table_db WHERE bd_nom ='".$nom."' AND bd_enfant ='".$enfant."'"; $rep_cherche_option_2menu = mysql_query($cherche_option_2menu, $cnx) or die( mysql_error() ) ; while($row_2menu=mysql_fetch_row($rep_cherche_option_2menu)) { $var_nom=$row_2menu[0]; $var_enfant=$row_2menu[1]; $var_age=$row_2menu[2]; echo "<table><tr><td>$var_nom - $var_enfant - $var_age</td><td></tr></table>" ; } } else { } ?>
Partager