Bonjour,
Je deviens fou.
Voilà, j'ai une base SQL qui contient des données dont un champs appelé canton. Un de mes enregistrement à la valeur FR
J'ai voulu créer une liste déroulante pour n'afficher que les enregistrement dont le canton correspond au choix de l'utilisateur voici mon code.
je reprend l'argument de ma liste déroulante
<?php
if(isset($_POST['selcan'])) $canton=$_POST['selcan'];
else $canton="";
?>
texte divers
ma liste déroulante (J'utilise ma même page comme cible)
Sélectionnez un canton<br>
<form method="POST" action="indexfr.php?rubrique=soirfr">
<SELECT name="selcan" size="1">
<OPTION>FR
<OPTION>VD
<OPTION>france
<OPTION>
</SELECT>
<input type="submit" value="Envoyer">
</FORM>
<?php
connexion base de données SQL puis
$sql = 'SELECT date, canton, lieu, organisateur, nom_soir, texte, URL, image, mail FROM soirees WHERE date>=now() and canton="<?php echo $selcan; ?>" ORDER BY date';
$req = mysql_query($sql) or die('Erreur SQL !<br>'.$sql.'<br>'.mysql_error());
while($data = mysql_fetch_assoc($req))
{
echo '<table border cellspacing="0">
<tr><td width="15%" bgcolor="#CCCCFF">'.$data['date'].'</td>
<td width="10%" bgcolor="#CCCCFF"><img src="'.$data['image'].'" width="25" height="25"> </td>
<td width="20%" bgcolor="#CCCCFF"><b> '.$data['nom_soir'].'</b></td>
etc...
Si je ne mets pas de liste déroulante et de sélection du canton, tout s'affiche normalement.
J'ai fait un <?php echo $selcan;?> pour vérifier la valeur du champs sélectionné et il affiche bien FR ce qui correspond au champs de ma base de données SQL FR.
Le problème c'est que lorsque j'utilise le code cité plus haut, plus aucune donnée ne s'affiche.
(j'espère que c'est assez clair)