|
La Communauté Webmaster 
| Pages: [1] |
 |
|
|
|
Auteur |
Sujet: Menu déroulant contient les informations qui se trouvent dans 2 "table"s diffé (Lu 587 fois) |
|
 |
Menu déroulant contient les informations qui se trouvent dans 2 "table"s diffé
« sur: le 25-07-2011 a 21:59:37 » |
|
aspkiddy
Membre récent

Hors-Ligne
Messages: 17

|
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 :
<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> |
|
Mais j'ai un petit souci... 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:aie: <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?:oops: Au moins, vous pouvez me donner des idées...:roll:
Merci |
|
|
|
|
| Pages:
[1] |
|
|
|
| |
|
|