Salut à tous,
voilà si je me tourne vers vous c'est que j'ai encore un soucis bien entendu, mais cette fois avec ma requete SQL.
Je vous explique, j'ai une liste d'article dans ma base de donnée, title = Titre de l'article, et description = la description de l'article.
Sur le site il y a un Input du nom de "recherche", que je récupère, ensuite j'explose ce champ pour récupérer tous les mots clés, je fais un foreach, pour écrire ma requete si la recherche est en plusieurs mots.
voici le code qui écrit une partie de la requete :
if (isset($_POST'recherche']) && !empty($_POST'recherche'])){
$motclef = $_POST'recherche'];
$mot = explode(" ",$motclef);
print_r($mot);
foreach ($mot as $k) {
$mot_recherche .= ' AND title LIKE "%'.$k.'%" OR description LIKE "%'.$k.'%" ';
}
}
Mon problème c'est que la recherche n'est pas vraiment pertinente ... J'entends par là que selon la position des mots clés le résultat n'est pas le même ...
Par exemple une recherche "Dans le bois", il va me sortir tous les articles contenant "Dans", "le" mais le troisième mot va passé à la trappe ...
Bref je tourne en rond depuis un moment et sa ce trouve la solution est toute simple une fonction que j'utilise pas ou autre ... Bref je sais pas si je me suis bien exprimé, mais en gros mon moteur de recherche me sors tout et n'importe quoi ....
il y a pas un truc à faire, genre limiter le nombre de caractères ou un truc du genre ? utiliser les expressions régulières ?
Une idée ? Comment vous faites vous ?
merci d'avance pour vos lumières
Neo