[HS] syntaxe SQL et/ou php
Le
h.wismes
Bonjour,
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 :
Le mieux est de donner un exemple.
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 serait la syntaxe SQL ou php en ce sens ?
Merci.
Henri
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists
Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-REQUEST@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmaster@lists.debian.org
Archive: http://lists.debian.org/20111104112...7.h.wismes@free.fr
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 :
Le mieux est de donner un exemple.
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 serait la syntaxe SQL ou php en ce sens ?
Merci.
Henri
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists
Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-REQUEST@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmaster@lists.debian.org
Archive: http://lists.debian.org/20111104112...7.h.wismes@free.fr

Poser une question


Le Fri, 4 Nov 2011 11:20:26 +0100, , vous avez écrit :
- transformer $motcle en tableau
- like '%$motcle[1] or like '%$motcle[1] .... ainsi de suite jusqu'au
dernier mot
--
Cordialement
Grégory BULOT
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists
Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
--------------
Ne serait-ce pas : like '%$motcle[1] or like '%$motcle[2]
Tableau = array ?
Comment compter les mots du mot clé ?
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists
Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Le Fri, 4 Nov 2011 11:51:27 +0100, , vous avez écrit :
Si toutafait :-D
Autant de solutions que de Dev php présent sur cette liste,
je ferais un foreach
http://docs.php.net/manual/fr/contr...oreach.php
--
Cordialement
Grégory BULOT
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists
Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Le vendredi 04 novembre 2011, a écrit...
Quel serveur de bases de données ?
Tu pourrais regarder si les possibilités de la recherche fulltext te
conviennent ?
Sinon, sous mysql voir si tu peux utiliser les fonctions de regexp ?
select 'Biographie richard Stallman' regexp '.*Stallman';
Ou bien find_in_set ?
select find_in_set('stallman', 'biographie,richard,stallman');
--
jm
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists
Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
----------------------
MySQL
J'ai vu intéressant mais :
Erreur de la requete SELECT * FROM table WHERE MATCH (liens , comments) AGA INST ('biographie richard stallman') .
Oui, mais il faut détacher chaque mot automatiquement
car $var=variable à contenu aléatoire
La solution serait sans doute :
- ($var=variable à contenu aléatoire) ici : $var="biographi e 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
--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists
Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/