Bonjour à tous ,
Voilà mon problème:
J'ai créé un premier formulaire pour une recherche de cartes postales par commune. Le résultat de toutes les cartes postales pour la commune sélectionnée s'affiche dans reponse_cartes_postale.php.
Dans la réponse en php j'ai inséré un second formulaire qui affine les résultats de cette commune par thèmes ( ceux identifiés sur les cartes postales d'une commune).
J'ai donc une table Themes_cartes_postales qui contient 2 champs Theme et Nom_commune (donc une commune peut-être référencée sous plusieurs thèmes), puis une table Cartes_postales avec toutes les infos par cartes.
Mon script donne ça:
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
$choix = $_POST ['communes'];
if ($choix !="")
$finrequete = " Themes_cartes_postales.Nom_commune LIKE '%$choix%'";
$sql="SELECT * FROM Themes_cartes_postales, Cartes_postales WHERE $finrequete ";
$resultat=mysql_query($sql,$bd);
 
if ($maligne=mysql_fetch_array($resultat)){
 
echo "<H4><a href=formulaire_cartes_postales.html>Nouvelle recherche</a></H4>"; 
/*moteur de recherche avancée*/
echo ' 
<div id=divprecis_site>
 
<H3> Affiner le r&eacute;sultat par th&egrave;me:</H3> 
<H3><form method="post" action="commune_theme.php"></H3> 
<select name="communes" id="communes">
<option value="'.$choix.'">'.$choix.'</option></select>
<select name="themes" id="themes"> 
<option value="'.$maligne['Theme'].'">'.$maligne['Theme'].'</option></select>
<input name="valider" type="submit" id="submit" value="valider"> 
</form>
</div>';
Le problème vient de la partie de moteur de recherche avancée: le $_maligne['Theme'] n'affiche dans le formulaire que le premier résultat de 'Theme' pour une commune de la table et je ne sais pas comment faire une boucle à l'intérieur du formulaire(??) .
Peut-être faudrait-il que je récupère le résultat en boucle de tous les thèmes pour une commune dans une nouvelle variable que j'insèrerais au formulaire mais je ne sais pas si c'est possible? .
Si quelqu'un a une idée, merci d'avance. Nal