par
charly92 » 19 juin 2012, 11:17
Bonjour,
je fais un moteur de recherche avec plusieurs mots clés en php/sql. Après avoir parcouru les forums j'ai choisis le Fulltext.
J'ai donc (pour l'instant) 4 champs de recherche. Cependant à chaque recherche tous ces champs ne sont pas forcément remplis.
Ce code fonctionne, mais si un champ n'est pas remplis ça ne fonctionne pas:
Code : Tout sélectionner
SELECT * FROM commandes,client WHERE commandes.ID_CLIENT=client.CODE_CLIENT AND MATCH (Num_SAP)
AGAINST ('+$rechercheSAP*' IN BOOLEAN MODE) AND MATCH(commune_nom) AGAINST ('+$recherchecom*' IN BOOLEAN MODE)
AND MATCH(Num_Cde) AGAINST ('+$recherchecommande*' IN BOOLEAN MODE) AND MATCH(NUM_DEVIS) AGAINST ('+$recherchedevis*' IN BOOLEAN MODE);
J'aimerais donc savoir si ce code est approprié pour ce que je veux faire. J'ai lu qu'il n’était pas recommandé d'utiliser la fonction LIKE et grâce à MATCH AGAINST il y a la pertinence de la recherche. Et si c'est bien cette fonction qu'il faut utiliser, comment résoudre mon problème?
Merci.
Bonjour,
je fais un moteur de recherche avec plusieurs mots clés en php/sql. Après avoir parcouru les forums j'ai choisis le Fulltext.
J'ai donc (pour l'instant) 4 champs de recherche. Cependant à chaque recherche tous ces champs ne sont pas forcément remplis.
Ce code fonctionne, mais si un champ n'est pas remplis ça ne fonctionne pas:
[code]
SELECT * FROM commandes,client WHERE commandes.ID_CLIENT=client.CODE_CLIENT AND MATCH (Num_SAP)
AGAINST ('+$rechercheSAP*' IN BOOLEAN MODE) AND MATCH(commune_nom) AGAINST ('+$recherchecom*' IN BOOLEAN MODE)
AND MATCH(Num_Cde) AGAINST ('+$recherchecommande*' IN BOOLEAN MODE) AND MATCH(NUM_DEVIS) AGAINST ('+$recherchedevis*' IN BOOLEAN MODE);
[/code]
J'aimerais donc savoir si ce code est approprié pour ce que je veux faire. J'ai lu qu'il n’était pas recommandé d'utiliser la fonction LIKE et grâce à MATCH AGAINST il y a la pertinence de la recherche. Et si c'est bien cette fonction qu'il faut utiliser, comment résoudre mon problème?
Merci.