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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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.