Requete SQL en fonction d'une variable

Eléphant du PHP | 109 Messages

13 août 2009, 16:49

Bonjour,

J'aimerai réaliser, sur mon site, un champ de recherche.
Pour se faire, je doit interroger ma base de donnée pour voire sur il y a bien une entrée qui correspond a se que je recherche.

Le soucis, c'est que si je recherche "pomme verte" et que mon entrée s'appelle "Pommes vertes", il ne va pas les faire correspondre or c'est bien se que je recherche.
Un autre exemple de mon problème :
Je recherche "Un vélo rouge" et que mon entrée s'appelle "Vélo rouge", il ne va, encore une fois, pas les faire correspondre or, c'est encore une fois se que je recherche.

je suppose que mon problème viens de ma requête SQL (SELECT * FROM table WHERE recherche=entree).
Bref, tout se qui est un poil différent sera rejeter. (un accent, un pluriels, un déterminent en plus...etc)

Je n'ai aucune idée du moyen de remédier a ce problème, c'est pourquoi je fait appelle à vous :mrgreen:

Merci d'avance !
ANSI <font> <font> <font> <li> <p> <title> Mar I/O .NET

Eléphanteau du PHP | 17 Messages

13 août 2009, 18:58

as tu essayé avec le LIKE au lieu du = ?

Eléphant du PHP | 109 Messages

14 août 2009, 16:37

Enfait, j'ai trouver se que je voulais entre-temps.

J'ai utilisé les regex dans ma requête sql.

Bref, elle devient quelque chose dans ce style :
SELECT * FROM matable WHERE name REGEXP '$request'
J'ai pas encore su tester, mais je crois que sa devrait marcher.

Sinon, pour ta proposition, tu m'as appris quelque chose :D
je ne connaissait pas du tout LIKE.

Merci quand même :)
ANSI <font> <font> <font> <li> <p> <title> Mar I/O .NET

ViPHP
AB
ViPHP | 5818 Messages

14 août 2009, 16:58

Sinon dans mysql il y a full-text et MATCH qui sont prévus à cet effet : http://dev.mysql.com/doc/refman/5.0/fr/ ... earch.html

Penses à cliquer sur résolu si ta question est résolue :wink:

Eléphant du PHP | 109 Messages

15 août 2009, 01:23

Oups, j'avais oublier.

Merci de ta réponse, j'irai jeter un oeil quand j'aurais le temps ;)
ANSI <font> <font> <font> <li> <p> <title> Mar I/O .NET