Liste déroulante dynamique

ulrish Messages postés 18 Date d'inscription jeudi 19 novembre 2009 Statut Membre Dernière intervention 25 septembre 2017 - 10 août 2010 à 12:21
ulrish Messages postés 18 Date d'inscription jeudi 19 novembre 2009 Statut Membre Dernière intervention 25 septembre 2017 - 11 août 2010 à 19:49
Bonjour chère programmeur,
Je suis nouveau dans la programmation avec php donc excusez moi si je me trompe assé souvent.
Voila mon topo: je veux créer une liste déroulante liée à une BD mysql. Ma liste crée est bien dynamique, mais je voudrais selectionner un élément pour et afficher son contenu plus bas. Mais les problèmes sont:
-Lorsque je selectionne un élément de ma liste la liste retourne à l'élément initiale malgrés sans me renvoyer le traitement attendu: donc le n'ai pas l'affichage du resultat de ma selection voici les lignes de mon code depuis ma connexion à la BD jusqu'a la "ligne d'affichage"

<?php
require_once('../connexion_db/connexion_breve.php');
$link=mysql_connect("localhost", "root","");
mysql_select_db("ingerierie_db",$link);
$requete="SELECT * FROM bsc";
$resultat=mysql_query($requete)or die(mysql_error());
?>//jusque là tout va bien
//création de la liste déroulante
<form id="form1" name="form1" method="get" action="<?php echo $_SERVER['PHP_SELF']?>">
<label>Selectionnez une BSC

<select name="bsc" id="select">
<?php
while ($bsc=mysql_fetch_array($resultat)){
$id=$bsc['id_bsc'];
$nom=$bsc['Nom_bsc'];
?>
<option value="<?php echo $id; ?>"><?php echo $nom; ?></option>
<?php } ?>
</select>
</label>
<label>

</label>
</form>//ici le problème qui se pose est que 'élément selectionné ne reste pas dans le menu
//affichage des données contenues dans $nom
<?php echo $nom ; ?>
// Là alors c la Kata: La valeur initiale (première valeur) de ma liste reste dans afficher


En substance là je vous présente les difficultés qui m'empêchent d'avancer dans mon projet toutes vos suggestion seront les bien venu Merci d'avance

3 réponses

RaftY Messages postés 56 Date d'inscription mardi 5 mars 2002 Statut Membre Dernière intervention 12 août 2010
10 août 2010 à 15:27
Bonjour,

Je vais répondre normal.

essai
<?php echo $_POST["nom"] ; ?>  


au lieu de

<?php echo $nom ; ?>  


En fait tu affectes, la variable $nom en construisant ta liste d'option. Si tu l'affiches, il prend le dernier traitement fait sur la variable. Ce qui t'intéresse c'est l'élément bsc poster, pas ceux de construction.



______oOOO________OOOo________

RaftY, du code C commode!
0
RaftY Messages postés 56 Date d'inscription mardi 5 mars 2002 Statut Membre Dernière intervention 12 août 2010
10 août 2010 à 15:28
oups erreur le code à lire est

<?php echo $_POST["bsc"] ; ?>  


le nom du Select
______oOOO________OOOo________

RaftY, du code C commode!
0
ulrish Messages postés 18 Date d'inscription jeudi 19 novembre 2009 Statut Membre Dernière intervention 25 septembre 2017
11 août 2010 à 19:49
Merci pour ton aide, la méthode utilisée doit aussi être POST et non Get
et il faut encore effectuer une nouvelle selection dans la BD en prenant comme comme condition ID= à la valeur stocker dans la variable
<?php
require_once('../connexion_db/connexion_breve.php');
$link=mysql_connect("localhost", "root","");
mysql_select_db("ingerierie_db",$link);
$requete="SELECT * FROM bsc";
$resultat=mysql_query($requete)or die(mysql_error());
?>//jusque là tout va bien
//création de la liste déroulante
<form id="form1" name="form1" method="post" action="<?php echo $_SERVER['PHP_SELF']?>">
<label>Selectionnez une BSC

<select name="bsc" id="select">
<?php
while ($bsc=mysql_fetch_array($resultat)){
$id=$bsc['id_bsc'];
$nom=$bsc['Nom_bsc'];
?>
<option value="<?php echo $id; ?>"><?php echo $nom; ?></option>
<?php } ?>
</select>
</label>
<label>

</label>
</form><?php // affichage du nom de la BSC, du nombre de liaison( infobulle), de la MFS du sous-rack et de la GPU utilisée
$requete2="SELECT * FROM bsc WHERE Id_bsc='".@$_POST['bsc']."'";
$resultat2=mysql_query($requete2)or die(mysql_error());
$affiche=mysql_fetch_array($resultat2);
$nom1=$affiche['Nom_bsc'];?>
//affichage des données contenues dans $nom
<?php echo @$nom1 ; ?>


A ce niveau sa marche

Merci de me proposer des améliorations
0
Rejoignez-nous