Bonjour,
1re table, c'est le résultat [tb_fruits_new] qui contient 5 champs/colonnes
fld_id ; fld_id_nom_fruit ; fld_nom_new ; fld_pepins ; fld_diametres
et il y a 2 enregistrements*:
1......ORA......Orange......cela dépend de......5 cm
2......MUR......Mûre........autant..............0.5 cm
Avec ces informations, je construis mon option sélectionnée de mon menu déroulant*:
[<option selected="selected*» value="MUR">Mûre</option>]
2e table contient les noms de fruits [tb_fruit_nom] qui contient 3 champs/colonnes
id ; fld_id_nom ; fld_nom
et il y a 4 enregistrements dedans*:
1......ORA......Orange
2......MEL......Melon
3......MUR......Mûre
4......FRA......Framboise
Avec ces informations je construis mes autres options non sélectionnées de mon menu déroulant*:
[<option value="FRA">Framboise </option><option value="MEL">Melon</option>...]
Voici mon code qui marche*:
Mais j'ai un petit souci...
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 <select name="nom_menu" id="nom_menu" class="valid" onchange="submit()" > <?php include"../bd_db/selection_test_fruits.php"; //**************---------------------1er partie du menu : //affichage 1ere option qui est séléctionné dans le menu exemple : //<option selected="selected" value="MUR">Mûre</option> //**************--------------------- //requête la jointure entre les deux tables //je les desactive // $req_quatre = " SELECT new.fld_id_nom_fruit, nom.fld_id_nom, nom.fld_nom // FROM $table_db new // INNER JOIN $table_db_nom nom // ON new.fld_id_nom_fruit = nom.fld_id_nom // WHERE new.fld_id_nom_fruit='MUR'"; //requête sans jointureavec la table db $req_quatre = " SELECT fld_id_nom_fruit, fld_nom FROM $table_db WHERE fld_id_nom_fruit='MUR'"; $rep_quatre = mysql_query($req_quatre, $cnx) or die( mysql_error() ) ; while($affiche_contenu_quatre = mysql_fetch_array($rep_quatre)) { $id_fruit_table_new=$affiche_contenu_quatre[0]; $id_fruit_table_nom=$affiche_contenu_quatre[1]; //$nom_table_nom=$affiche_contenu_quatre[2]; //pour la requête avec la jointure entre les deux tables echo '<option selected="selected" value="'.$id_fruit_table_new.'"'; //echo '>'.$nom_table_nom.'</option>'; //pour la requête avec la jointure entre les deux tables echo '>'.$id_fruit_table_nom.'</option>'; } //**************---------------------1er partie du menu FIN ---------------------************** //:::::::::::::::::::::: 2e partie: affichage les autres options qui ne sont pas séléctionné $req_quatre_autresOption = "SELECT fld_id_nom, fld_nom FROM $table_db_nom order by fld_nom"; $rep_quatre_autresOption = mysql_query($req_quatre_autresOption, $cnx) or die( mysql_error() ) ; while($affiche_contenu_quatre_quatre_autresOption = mysql_fetch_array($rep_quatre_autresOption)) { $id_fruit=$affiche_contenu_quatre_quatre_autresOption[0]; $nom_fruit=$affiche_contenu_quatre_quatre_autresOption[1]; echo '<option value="'.$id_fruit.'">'.$nom_fruit.'</option>'; } //:::::::::::::::::::::: 2e partie: FIN :::::::::::::::::::::: ?> </select>
Puisque, dans mon 2e enregistrement*: de ma 1re table contient «*MUR*» alors, il y a
<option selected="selected*» value="MUR">Mûre</option> dans mon menu,
mais dans ma 2e table, au 3e enregistrement, il y a aussi «*MUR*»...
Donc, c'est normal que j'aie 2 mêmes options*: l'une est sélectionnée, l'autre n'est pas séléctionnée
<option selected="selected*» value="MUR">Mûre</option>
<option value="FRA">Framboise </option>
<option value="MEL">Melon</option>
<option value="MUR">Mûre</option>
<option value="ORA">Orange</option>
Comment peux-je éviter d'afficher la 2e qui n'est pas sélectionnée?
Au moins, vous pouvez me donner des idées...
Merci
Partager