Forum-webmaster
Technique - programmation => PHP / MySQL => Message commencé par: aspkiddy le le 25-07-2011 a 21:59:37

Titre: Menu déroulant contient les informations qui se trouvent dans 2 "table"s diffé
Posté par: aspkiddy le le 25-07-2011 a 21:59:37

Bonjour,
1re table, c'est le résultat [ [I]tb_fruits_new[/I] ] qui contient 5 champs/colonnes

[B]fld_id [/B]; [B]fld_id_nom_fruit[/B] ; [B]fld_nom_new[/B] ; [B]fld_pepins[/B] ;[B] fld_diametres[/B]
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 [ [I] tb_fruit_nom[/I] ] qui contient 3 champs/colonnes
[B]id [/B]; [B]fld_id_nom [/B]; [B]fld_nom[/B]
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 :

Code:
<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


Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.