Lier liste deroulante

cs_johnmichel Messages postés 30 Date d'inscription samedi 27 novembre 2004 Statut Membre Dernière intervention 20 février 2006 - 17 janv. 2006 à 11:07
cs_johnmichel Messages postés 30 Date d'inscription samedi 27 novembre 2004 Statut Membre Dernière intervention 20 février 2006 - 17 janv. 2006 à 11:51
bonjour, je souhaiterais lier deux liste déroulante que je charge a partir d'une base de donnée

<?php

$db = mysql_connect('localhost', 'root', '');
mysql_select_db('stock', $db);

?>


<form method="POST" action="mouvement.php">

<?php

$query_select = "SELECT sujet FROM sujet";
$req_select = mysql_query($query_select) or die('Erreur SQL !'.$query_select.'
'.mysql_error());
?>

Sujet: <select name="sujet">
<option value="#" selected></option>
<?php
// boucle permetant le listage des valeurs et l'affichage -----------------
while($select = mysql_fetch_array($req_select))
{
echo '<option value='.$select['sujet'].'>'.$select['sujet'].'</option>';
}
?>

</select>

<?php


$query_select = "SELECT libetype FROM typedoc"; // ici j'aimerais recuperer la valeur de la premiere liste afin d'ajouter un where avec cette valeur.

$req_select = mysql_query($query_select) or die('Erreur SQL !'.$query_select.'
'.mysql_error());
?>

Type: <select name="type">
<option value="#" selected></option>
<?php
// boucle permetant le listage des valeurs et l'affichage -----------------
while($select = mysql_fetch_array($req_select))
{
echo '<option value='.$select['libetype'].'>'.$select['libetype'].'</option>';
}
?>

</select>

merci de votre aide

4 réponses

sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
17 janv. 2006 à 11:15
ca me parait difficile ,
puisque l'utilisateur n'a pas encore sélectionné le sujet
0
malalam Messages postés 10839 Date d'inscription lundi 24 février 2003 Statut Membre Dernière intervention 2 mars 2010 25
17 janv. 2006 à 11:31
Hello,

faut soumettre le formulaire lors de la sélection dans la 1ère liste. Puis construire la seconde liste en fonction du post récupéré. Tant que la sélection n'a pas été faite, la 1ère liste doit rester vide, ou ne pas être affichée, évidemment.
Tu peux le faire sur un onchange de ton select.
0
sidf Messages postés 1216 Date d'inscription mardi 20 décembre 2005 Statut Membre Dernière intervention 18 octobre 2012 5
17 janv. 2006 à 11:34
en fait, il faudrait que tu remplisses les deux listes (ou seulement la 1ere)

<form name='F1' method='post' action='<? $PHP_SELF?>'>

et sur le onchange de la balise (sélection du sujet)

<select name='sujet' onchange='this.form.submit();'>

rappeler la même page en récupérant la valeur de 'sujet'
$_POST['sujet']

là tu pourras sélectionner le type en fonction du sujet
0
cs_johnmichel Messages postés 30 Date d'inscription samedi 27 novembre 2004 Statut Membre Dernière intervention 20 février 2006
17 janv. 2006 à 11:51
je ne pense pas que c'est juste ce que j'ai fait mais c'est l'inconvenient d'être debutant j'ai fait comme je pensait comprendre mais ca donne des erreur (logik)


<?php

$db = mysql_connect('localhost', 'root', '');
mysql_select_db('stock', $db);


?>


// <form method="POST" action="mouvement.php">
<form name='F1' mathod='POST' action='<? $PHP_SELF ?>'>

<?php

$query_select = "SELECT sujet FROM sujet";
$req_select = mysql_query($query_select) or die('Erreur SQL !'.$query_select.'
'.mysql_error());
?>

Sujet: <select name="sujet" onchange='this.form.submit();'>
<option value="#" selected></option>
<?php
// boucle permetant le listage des valeurs et l'affichage -----------------
while($select = mysql_fetch_array($req_select))
{
echo '<option value='.$select['sujet'].'>'.$select['sujet'].'</option>';
}
?>

</select>

// </form>

<?php
if(isset($_POST['sujet'])&& !empty($_POST['sujet'])) $sujet=$_POST['sujet'];
else $sujet="bla";

$query_select = "SELECT libetype FROM typedoc where sujet='$sujet'";
$req_select = mysql_query($query_select) or die('Erreur SQL !'.$query_select.'
'.mysql_error());
?>

Type: <select name="type">
<option value="#" selected></option>
<?php
// boucle permetant le listage des valeurs et l'affichage -----------------
while($select = mysql_fetch_array($req_select))
{
echo '<option value='.$select['libetype'].'>'.$select['libetype'].'</option>';
}
?>

</select>
0
Rejoignez-nous