Php/ MySql "Recherche Avancée", Page

Je suis en train de travailler sur une "recherche avancée" à la page sur un site où vous devez entrer un mot clé tel que "j'aime les pommes" et il peut rechercher dans la base de données en utilisant l'une des options suivantes:

Trouver : Avec tous les mots, Avec les
la phrase exacte , Avec au moins l'un des
les mots, Sans les mots

Je peux prendre soin de la "phrase Exacte" par:

SELECT * FROM myTable WHERE field='$keyword';

'Au moins un des mots" par:

SELECT * FROM myTable WHERE field LIKE '%$keyword%';//Let me know if this is the wrong approach

Mais son "au moins un des mots" et "Sans les mots" que je suis coincé sur.

Des suggestions sur la façon de mettre en œuvre ces deux?

Edit: Concernant le "Au moins un mot:" il ne serait pas une bonne approche pour utiliser explode() pour briser les mots-clés en mots, et d'exécuter une boucle pour ajouter

(field='$keywords') OR ($field='$keywords) (OR)....

Car il y a quelques autres ET/OU des clauses de la requête aussi et je ne suis pas au courant du nombre maximum de clauses peut y avoir.

OriginalL'auteur Click Upvote | 2009-01-02