Choix de variable d'une liste déroulante php

housslebest -  
maka54 Messages postés 721 Statut Membre -
Bonjour,
j'ai une table mysql constituée de 2 colonnes (id et name) et plusieurs ligne, j'ai créé une liste déroulante en php qui visualise tous les "name de ma table. à la base moi je veux récupérer le "id" du "name" sélectionné dans ma liste déroulante pour aller chercher d'autres informations dans d'autres tables concernant mon "name". Comment faire ? des indications? des propositions? j'en serai reconnaissant.
Merci d'avance.
Houss.


A voir également:

6 réponses

le père
 
Bonjour

Je suppose que quand tu parles de liste déroulante, il s'agit d'un <SELECT>
Dans ce cas, il te suffit de mettre l'id dans l'attribut VALUE de chaque <OPTION>.
Quand tu recevras ton formulaire, c'est l'id que tu récupèreras
0
housslebest
 
Merci pour votre réponse rapide, moi pour tester si ça marche je veux créer un champ de texte qui m'affiche l'id du name sélectionné lorsque je clique sur submit.
Je peux avoir un petit code pour cet affichage d'id?? SVP
0
le père
 
Fais voir ton code actuel pour que je puisse te proposer les modifications
0
housslebest
 
actuellement, moi lorsque je choisis mon "name je clique sur "go" pour qu'il m'affiche une autre page appelée fiche.html.
Ce que je veut pour l'instant c'est seulement ma liste déroulante et un champ de teste à coté lorsque je choisis mon "name et je clique sur le bouton "Go", je veux avoir l'id de mon name affiché sur le champ de texte.
Voilà mon code :
<?php
// information pour la connection à le DB
$host = 'localhost';
$user = 'root';
$pass = '';
$db = 'testlink';

// connection à la DB
$link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
mysql_select_db($db) or die ('Erreur :'.mysql_error());
echo "connexion réussie";



$sql = " SELECT name FROM nodes_hierarchy";
$result = mysql_query($sql) or die("Requete pas comprise");

echo "<form action='liste.php' method='POST'>
<table><tr><td>le cas de test
<select name='cas de test'>";

while ($row=mysql_fetch_array($result))
{
echo"<option>$row[0]</option>";
}
echo"</select></td></tr>
</table>
<input type='submit' value='Go' name='go'/>
</form>";


if(isset($_POST['go']))
{

$url = $_POST['http://localhost/fiche.html'];
header("location: http://localhost/fiche.html");
}
else
{

}



mysql_close($connexion);
?>
Merci beaucoup pour ton aide .
0
maka54 Messages postés 721 Statut Membre 80
 
$sql = " SELECT name FROM nodes_hierarchy";


Si tu veux récupérer id, il faut l'ajouter dans la requete

$sql = " SELECT id,name FROM nodes_hierarchy";




while ($row=mysql_fetch_array($result))
{
echo"<option>$row[0]</option>"; 
}


et il te faut un value dans option pour récupérer la valeur du champ


while ($row=mysql_fetch_array($result))
{
echo '<option value="'.$row['id'].'">'.$row['name'].'</option>'; 
}
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
housslebest
 
merci !
Ca veut dire que le programme doit être ça??


<?php
// information pour la connection à le DB
$host = 'localhost';
$user = 'root';
$pass = '';
$db = 'testlink';

// connection à la DB
$link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
mysql_select_db($db) or die ('Erreur :'.mysql_error());
echo "connexion réussie";



$sql = " SELECT name,id FROM nodes_hierarchy";
$result = mysql_query($sql) or die("Requete pas comprise");

echo "<form action='liste.php' method='POST'>
<table><tr><td>le cas de test
<select name='cas de test'>";

while ($row=mysql_fetch_array($result))
{
echo"<option>$row[0]</option>";
}
echo"</select></td></tr>
</table>
<input type='submit' value='Go' name='go'/>
</form>";
while ($row=mysql_fetch_array($result))
{
echo"<option>$row[0]</option>";
}
while ($row=mysql_fetch_array($result))
{
echo '<option value="'.$row['id'].'">'.$row['name'].'</option>';
}


if(isset($_POST['go']))
{

$url = $_POST['http://localhost/fiche.html'];
header("location: http://localhost/fiche.html");
}
else
{

}



mysql_close($connexion);
?>


mais je sais pas si ça marche ou non par ce que je ne vois pas encore un champ de texte dans lequel l'id s'affiche ??!!!
0
maka54 Messages postés 721 Statut Membre 80
 
<?php 
// information pour la connection à le DB 
$host = 'localhost'; 
$user = 'root'; 
$pass = ''; 
$db = 'testlink'; 

if(isset($_POST['go'])){ 
 // header("location: http://localhost/fiche.html"); 
 header("location: http://localhost/fiche.php?id=".$_POST['cas_de_test']); 
 die; 
} 


// connection à la DB 
$link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() ); 
mysql_select_db($db) or die ('Erreur :'.mysql_error()); 
echo "connexion réussie"; 


$sql = " SELECT name,id FROM nodes_hierarchy"; 
$result = mysql_query($sql) or die("Requete pas comprise"); 

?> 
<form action="liste.php" method="POST"> 
 <table> 
  <tr> 
   <td>le cas de test 
    <select name="cas_de_test"> 
    <?php 
    while ($row=mysql_fetch_array($result)){ 
     echo '<option value="'.$row['id'].'">'.$row['name'].'</option>'; 
    } 
    ?> 
    </select> 
   </td> 
  </tr> 
 </table> 
 <input type="submit" value="Go" name="go"/> 
</form> 

<?php 
 mysql_close($connexion); 
?> 
0