Bonjour,
voici ma méthode et ma requête sql pour un moteur de recherche
$s étant les mots clé tapés
Ce code marche très bien par contre j'utilise OR pour séparer la recherche de chaque mot. donc mon moteur de recherche et finalement très peu pratique.
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 $detail_s = explode(" ",$s); $WHERE = "WHERE"; $count = 0; reset ($detail_s); while(list($key, $data) = each($detail_s)) { $count = $count + 1; if ($count == 1) { $WHERE .= " t.name LIKE '%".$data."%' "; } else { $WHERE .= " OR t.name LIKE '%".$data."%' "; } } $query = " SELECT id FROM p JOIN tp ON tp.p = p.id JOIN t ON tp.t = t.id ".$WHERE." ORDER BY p.d DESC ";
J'ai essayé de remplacer OR par AND afin de rendre tous sa plus cohérent et pratique seulement avec AND le moteur de recherche me retourne plus aucun résultat alors que des résultats existent
Il y a t'il une solution pour pouvoir utiliser AND dans ce code ???
Merci d'avance
Partager