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>...]
<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électionné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