bonjour,
je cherche à afficher les résultats d'une requête qui provient d'un formulaire, composé de 3 listes et d'un champ texte libre. Tant que je ne mets que les "if" correspondant aux listes, tout est OK.
Mais depuis que j'ai inclus le if avec le champ texte libre, tous les résultats qui s'affichent, comme $data['activite'], $data['description'] etc reprennent la valeur qui a été trouvée , et non le contenu véritable de la cellule.
par exemple, si j'ai demandé de rechercher "parti92" et qu'il y a bien un "reparti923", c'est ce résultat, "reparti923" qui va être affiché pour chaque $data.
Merci d'avance à ceux qui pourront m'aider.



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
32
33
34
35
36
$requete = " SELECT * FROM aide_ac,aide_st WHERE aide_ac.structure = aide_st.s_clef "; 
 
if (isset($_POST['public'])&&($_POST['public'])!="#") 
{ 
   $requete .= ' AND  public = "'.$_POST['public'].'"'; 
} 
 
if (isset($_POST['lieu'])&&($_POST['lieu'])!="#") 
{ 
    $requete .= ' AND  lieu = "'.$_POST['lieu'].'"'; 
} 
 
if (isset($_POST['activite'])&&($_POST['activite'])!="#") 
{ 
   $requete .= ' AND  activite = "'.$_POST['activite'].'"'; 
} 
if  (($_POST['mot'])!="") 
{ 
   $requete .= " AND  activite LIKE '%".strtolower($mot)."%' OR specifique LIKE '%".strtolower($mot)."%'  OR description LIKE '%".strtolower($mot)."%' "; 
} 
$requete .= ' ORDER BY activite;'; 
 
 // exécution de la requête 
$req = mysql_query($requete) or die (mysql_error().$requete); 
 
while ($data = mysql_fetch_array($req)) { 
//affichage des résultats        
 
     echo '<table><tr><td class="txtg">Activités</td><td class="txtp">' , stripslashes(htmlentities(trim($data['activite']))) , '</td></tr>'; 
      echo '<tr><td class="txtg">Description</td><td class="txtp">' , stripslashes(htmlentities(trim($data['description']))) , '</td></tr>';
	  echo '<tr><td class="txtg">Organisateur</td><td class="txtp">' , stripslashes(htmlentities(trim($data['s_nom']))) , '</td></tr>'; 
      echo '<tr><td class="txtg">Horaires</td><td class="txtp">' , stripslashes(htmlentities(trim($data['horaires']))) , '</td></tr>'; 
      echo '<tr><td class="txtg">Dates</td><td class="txtp">' , stripslashes(htmlentities(trim($data['dates']))) , '</td></tr>'; 
      echo '<tr><td class="txtg">Tarifs</td><td class="txtp">' , stripslashes(htmlentities(trim($data['tarifs']))) , '</td></tr></table><br />'; 
}
}