Liste déroulante dynamique

Signaler
Messages postés
18
Date d'inscription
jeudi 19 novembre 2009
Statut
Membre
Dernière intervention
25 septembre 2017
-
Messages postés
18
Date d'inscription
jeudi 19 novembre 2009
Statut
Membre
Dernière intervention
25 septembre 2017
-
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

Messages postés
56
Date d'inscription
mardi 5 mars 2002
Statut
Membre
Dernière intervention
12 août 2010

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!
Messages postés
56
Date d'inscription
mardi 5 mars 2002
Statut
Membre
Dernière intervention
12 août 2010

oups erreur le code à lire est

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


le nom du Select
______oOOO________OOOo________

RaftY, du code C commode!
Messages postés
18
Date d'inscription
jeudi 19 novembre 2009
Statut
Membre
Dernière intervention
25 septembre 2017

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