Salut 
Alors, il faut en fait que dans ta page de traitement des informations (la page PHP appelée après la validation de la recherche par l'utilisateur), tu sépares chaque mot saisi. La fonction "explode" de PHP fait ceci très bien.
Imaginons donc que la variable contenant les mots clé recherchés se nomme $keywords et contienne la chaine "une recherche", cela te donnerait quelque chose comme :
$explodedKeywords=explode(" ", $keywords);
Explode retournant un tableau, ta variable $explodedKeywords sera de la forme :
1 2
| $explodedKeywords[0]="une";
$explodedKeywords[1]="recherche"; |
Une fois cela fait, tu n'as plus qu'à construire ta requête SQL en faisant une boucle sur la longueur de ce tableau, afin de lire chaque élément du tableau.
Imaginons qu'aujourd'hui tu es une requête de la forme :
$querySQL="SELECT champs1 FROM ma_table WHERE monchamps LIKE '%$keywords%'";
Celle ci deviendrait, après prise en compte du tableau $explodedKeywords :
1 2 3 4 5
| $querySQL="SELECT champs1 FROM ma_table WHERE monchamps LIKE '%$explodedKeywords[0]%'";
foreach($explodedKeywords as $key=>$value) {
$querySQL.=" OR monchamps LIKE '%$value%'";
} |
Partager