[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [HS] syntaxe SQL et/ou php



Le vendredi 04 novembre 2011, Jean-Michel OLTRA a écrit :
> Le vendredi 04 novembre 2011, h.wismes@free.fr a écrit...
> > Dans le cadre d'une recherche d'informations dans
> > une base de données, par mots clé, je n'arrive pas
> > à concrétiser ce type de recherche :
> > mot clé (motcle) = "biographie richard stallman"
> > $query_string = "SELECT * FROM table WHERE infos LIKE '%$motcle%'  ";
> > Or, le nom "stallman" existe bien dans la base mais
> > "biographie richard stallman" n'est pas contenu dans "stallman".
> > Comment faire alors le contraire, c'est à dire faire la recherche
> > selon "stallman' contenu dans "biographie richard stallman" ?
----------------------
> Quel serveur de bases de données ? :
 MySQL

> Tu pourrais regarder si les possibilités de la recherche fulltext te conviennent ?
J'ai vu intéressant mais :
Erreur de la requete SELECT * FROM table WHERE MATCH (liens , comments) AGAINST ('biographie richard stallman') .

> Sinon, sous mysql voir si tu peux utiliser les fonctions de regexp ?
> select 'Biographie richard Stallman' regexp '.*Stallman'; :
Oui, mais il faut détacher chaque mot automatiquement
car $var=variable à contenu aléatoire

> Ou bien find_in_set ?
> select find_in_set('stallman', 'biographie,richard,stallman');
> jm

La solution serait sans doute :
- ($var=variable à contenu aléatoire) ici : $var="biographie richard stallman"; 
- $var = explode('  ', $var);
- détacher chaque mot par leur variable : $mot1 , $mot2, $mot3 ...
- select find_in_set('$mot1' ,  '$mot2' , '$mot3') ....

et cerise sur le gâteau, supprimer les mots inopportuns :
de, le, la, du, ... etc ...

Merci

Henri


Reply to: