Bonjour,
j'ai fait un moteur de recherche avec pagination qui laisse le choix à l'internaute de choisir dans quel type de recherche il veut faire avec un select (titre, résumé, mots clé).
Le moteur de recherche simple fonctionne ainsi que les recherche ciblé soit par titre, résumé ou mots clé mais quand je propose une recherche ciblé sur le titre, le résumé et les mots clé en même temps cela ne fonctionne plus. Il me dit :

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'resume mot_cle LIKE '%saint-lô%' ORDER BY date DESC' at line 1
Mon code html:

Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
<div class="moteur_recherche">
    <form name="Formulaire_recherche" method="POST" action="result_recherche.php">
        <input type="text" name="txt_recherche" id="idTxt_recherche" />
        <label> par </label>
        <select name="liste">
            <option selected="defaut" value="titre, resume, mot_cle">défaut</option>
            <option value="titre">titre</option>
            <option value="resume">résumé</option>
            <option value="mot_cle">mots clé</option>
        </select>
        <input class="btn_loupe" type="submit" name="btn_recherche" value="" onclick="return test_recherche(this.Formulaire_recherche)" />
    </form>
</div>

code php:

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
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
<?php
//Liste des variables utilisées
$base = 'tevi';
$host = 'localhost';
$user = 'root';
$pass = '';
$recherche = FALSE;
if (isset($_POST['txt_recherche']) && $_POST['txt_recherche'] != NULL && ($_POST['liste'])){ // on vérifie d'abord l'existence du POST et aussi si la requete n'est pas vide.
    $mot_cle = $_POST['txt_recherche'];
    $liste = $_POST['liste'];
    $recherche = TRUE;
}
//On ajoute une methode $_GET pour récuperer $mot_cle dans l'url afin d'afficher les différentes pages de liens
elseif (!empty($_GET['txt_recherche'])){
    $mot_cle = urldecode($_GET['txt_recherche']);
    $liste = urldecode($_GET['liste']);
    $recherche = TRUE;
}
if ($recherche == TRUE){
    //Connection a la base de données   
    mysql_connect($host, $user, $pass);
    mysql_select_db($base);
    mysql_set_charset( 'utf8' );
    //Requête pour la recherche
    $sql =  mysql_query("SELECT id_video, date, titre, nom_video, resume FROM tab_video WHERE ".$liste." LIKE '%".mysql_real_escape_string($mot_cle)."%' ORDER BY date DESC") or die (mysql_error()); // Requête pour la recherche
    $nb_resultats = mysql_num_rows($sql); // on utilise la fonction  pour compter les résultats
    if($nb_resultats != 0){ // si le nombre de résultats est différent de 0, on continue{
        //Affichage du nombre d'éléments trouvé ainsi que les éléments
?>
<h3>Nous avons trouvé <?php echo $nb_resultats; // on affiche le nombre de résultats 
        if($nb_resultats > 1) { echo ' résultats :'; } else { echo ' résultat :'; } // on vérifie le nombre de résultats pour orthographier correctement. 
?></h3>    
<?php
        //Calcul du nombre de page      
        $titre = $nb_resultats;
        $limite = 5;
        $nbPage = ceil($titre/$limite);
        if(isset($_GET['page']) && $_GET['page']>0 && $_GET['page']<=$nbPage){
            $cPage = $_GET['page'];
        }        
        else{
            $cPage = 1;
        }
        //Construction de la requete
        $min = ($cPage-1)*$limite;
        $sql=mysql_query("SELECT id_video, date, titre, nom_video, resume FROM tab_video WHERE ".$liste." LIKE '%$mot_cle%' ORDER BY date DESC LIMIT ".$min.",".$limite);
        // var_dump($sResult);
        //Afficher la liste des actualitées trouvées lié au mot-clé dans un tableau
        while($donnees = mysql_fetch_array($sql)){
            echo "<table class='tab_affichage_recherche'>";
            echo"<tr>
                <td class='taille_video'>".$donnees['nom_video']."</td>
                <td>
                    <table>
                        <tr>
                            <td class='info_video_titre'>".$donnees['titre']."</td>
                        </tr>
                        <tr>
                            <td class='info_video_date'>".$donnees['date']."</td>
                        </tr>
                        <tr>
                            <td class='info_video_resume'>".$donnees['resume']."</td>
                        </tr>
                    </table>   
                </td>
                </td>
            </tr>
        </table>";
?>
Comment je pourrai résoudre le problème ?

Merci de votre aide