Bonjour
J'ai un problème en voulant faire une recherche avec des mots clés. En fait j'ai plusieurs champs que je peux remplir ou pas. Et lorsque que je ne met qu'un seul mot clé, ou que je ne remplis pas tout les champs il me met qu'il ne trouve pas de document. En gros je suis obligé de renseigner tout les champs si je veux que ca marche alors que j'aimerais pouvoir n'en remplir qu'un, ou deux, ou trois, ou quatre.
Voila les champs pour les mots clés:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 <td align="left" valign="top"> <form action="recherche.php" method="post" enctype="multipart/form-data"> <b>Recherche :</b><br> <b>Auteur :</b><br> <input size=8 type=text name='search'> <br> <b>Titre :</b><br> <input size=8 type=text name='search'> <br> <b>Thème :</b><br> <input size=8 type=text name='search'> <br> <b>Decriptif sujet, Reliure, Etat :</b><br> <input size=8 type=text name='search'> <br><input type=submit value="Ok"></form> </td>
Et voici ma fonction de recherche:
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 function search($motCle) { if($motCle=='all') { $req=mysql_query("SELECT * FROM essai ORDER BY Nom_auteur"); } else { $req=mysql_query("SELECT * FROM essai WHERE Nom_auteur LIKE \"%$motCle%\" or Titre LIKE \"%$motCle%\" or Théme LIKE \"%$motCle%\" or Descriptif_sujet_Reliure_etat LIKE \"%$motCle%\" ORDER BY Nom_auteur"); } if(mysql_num_rows($req)==0) { echo "Aucun document trouvé"; } else { while ($req2=mysql_fetch_array($req)) { $doc=mysql_fetch_array(mysql_query("SELECT * FROM essai WHERE Nom_auteur LIKE \"%$motCle%\" or Titre LIKE \"%$motCle%\" or Théme LIKE \"%$motCle%\" or Descriptif_sujet_Reliure_etat LIKE \"%$motCle%\" ")); echo "<table border width=\"100%\"><tr><td width='40%' valign='top'> <table width='100%' height='100%'> <tr><td><b>Auteur : </b>".$doc['Nom_auteur']." <b>Titre : </b>".$doc['Titre']." <b>Thème : </b>".$doc['Théme']." <b>Descriptif sujet, reliure, etat : </b>".$doc['Descriptif_sujet_Reliure_etat']." </td></tr> </table></table> "; } } }
De plus lorsque j'effectue une recherche et qu'il trouve plusieurs résultats il affiche toujours le même par exemple:
Auteur : WOLFF Albert Titre : Figaro - Salon 1891 Thème : Peinture Descriptif sujet, reliure, etat : Journal comprenant de nombreuses illustrations.
Auteur : WOLFF Albert Titre : Figaro - Salon 1891 Thème : Peinture Descriptif sujet, reliure, etat : Journal comprenant de nombreuses illustrations.
Auteur : WOLFF Albert Titre : Figaro - Salon 1891 Thème : Peinture Descriptif sujet, reliure, etat : Journal comprenant de nombreuses illustrations.
Partager