Bonjour,
voici ma méthode et ma requête sql pour un moteur de recherche

$s étant les mots clé tapés

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 ";
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.

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