Récupérer la valeur choisit par l'utilisateur
Bonjour,
J'ai besoin un petit coup de pouce. Je m'explique :
J'ai une table qu'on appellera ici Theme : dans cette table j'ai des thèmes et des sous-thèmes. Je souhaite proposer à l'utilisateur de pouvoir sélectionner dans une liste déroulante un thème ( que je récupère avec une requête dans ma BD):
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| <?php
$libelleTheme = isset($_POST['libelleTheme']) ? $_POST['libelleTheme'] : '';
$soustheme = isset($_POST['soustheme']) ? $_POST['soustheme'] : '';
?>
<form method="POST">
<?php
$connexion=mysql_connect('localhost','root',"") or die ("connexion impossible.");
$db=mysql_select_db('bd',$connexion) or die ("base de données non accessible");
$sql = 'select `libelleTheme` from `Theme`'
. ' where `niveau`=\'1\';';
?>
<p>Choisissez un thème </p>
<select name="libelleTheme" id="id">
<?php
$resultat=mysql_query($sql) or die ("requète non executé");
if (! $resultat) { echo "Erreur requete"; exit;}
while ($ligne=mysql_fetch_array($resultat))
{
?>
<option>
<?php echo "<option>".$ligne["libelleTheme"]."</option>\n";?>
<?php
mysql_close($connexion);
}?>
<option selected><?php echo "$libelleTheme ";?></option>
<input type="submit" value="OK"/>
</form>
<?php
mysql_close($connexion);
}?> |
Jusque-là tout va bien.
Ensuite, je voudrais que en fonction du clic de l'utilisateur, je lui propose une autre liste des sous-themes (comportant les sous-thèmes du thème déjà sélectionné par l'utilisateur).
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| <?php if (isset($_POST['libelleTheme'])) {
echo '<br/><b>' . $_POST['libelleTheme'] . '</b>';
?>
<form method="POST">
<?php
//Connexion a la base de donnée
$connexion=mysql_connect('localhost','root',"") or die ("connexion impossible.");
$db=mysql_select_db('bd',$connexion) or die ("base de données non accessible");
$sql1 = 'select `libelleTheme` from `Theme`'
. ' where `niveau`= \'2\' and `themeParent`= '
. ' (select `numTheme` from `Theme` where `libelleTheme`=\'. $_POST[\'libelleTheme\'] . \')';
?>
<p>Choisissez un sous - thème </p>
<select name="soustheme" id="id">
<?php
$resultat=mysql_query($sql1) or die ("requète non executé");
if (! $resultat) { echo "Erreur requete"; exit;}
while ($ligne=mysql_fetch_array($resultat))
{
?>
<option>
<?php echo "<option>".$ligne["libelleTheme"]."</option>\n";?>
<?php
mysql_close($connexion);
}?>
<option selected><?php echo "$soustheme ";?></option>
<input type="submit" value="OK"/>
</form> |
Et bien, la $sql1 ne fonctionne pas, donc j'ai aucune sortie dans ma 2eme liste déroulante. Par contre si à la place de $_POST[\'libelleTheme\'] dans la sql1, j'écris n'importe quel thème existant dans la BD, ça marche.
Je sature un peu du code et j'arrive pas à voir mon problème.
Merci d'avance.
Nooby.