Dans le cadre d'une recherche d'informations dans
une base de donn=E9es, par mots cl=E9, je n'arrive pas
=E0 concr=E9tiser ce type de recherche :
Le mieux est de donner un exemple.
mot cl=E9 (motcle) =3D "biographie richard stallman"
$query_string =3D "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 =E0 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/201111041120.26387.h.wismes@free.fr
Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe" vers En cas de soucis, contactez EN ANGLAIS Archive: http://lists.debian.org/
Bonjour, Bonsoir,
Le Fri, 4 Nov 2011 11:20:26 +0100, h.wismes@free.fr, vous avez écrit :
mot clé (motcle) = "biographie richard stallman"
$query_string = "SELECT * FROM table WHERE infos LIKE '%$motcle%' ";
- 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 debian-user-french-REQUEST@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmaster@lists.debian.org
Archive: http://lists.debian.org/20111104113028.42524c9a@bulot-fr.com
Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe" vers En cas de soucis, contactez EN ANGLAIS Archive: http://lists.debian.org/
h.wismes
Le vendredi 04 novembre 2011, Grégory Bulot a écrit :
Le Fri, 4 Nov 2011 11:20:26 +0100, , vous avez écrit : > mot clé (motcle) = "biographie richard stallman" > $query_string = "SELECT * FROM table WHERE infos LIKE '%$motcle%' ";
- like '%$motcle[1] or like '%$motcle[1] .... ainsi de suite jusqu'au de rnier mot Grégory BULOT
--------------
Ne serait-ce pas : like '%$motcle[1] or like '%$motcle[2]
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, Grégory Bulot a écrit :
Le Fri, 4 Nov 2011 11:20:26 +0100, h.wismes@free.fr, vous avez écrit :
> mot clé (motcle) = "biographie richard stallman"
> $query_string = "SELECT * FROM table WHERE infos LIKE '%$motcle%' ";
- like '%$motcle[1] or like '%$motcle[1] .... ainsi de suite jusqu'au de rnier mot
Grégory BULOT
--------------
Ne serait-ce pas : like '%$motcle[1] or like '%$motcle[2]
- transformer $motcle en tableau :
Tableau = array ?
ainsi de suite jusqu'au dernier mot :
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 debian-user-french-REQUEST@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmaster@lists.debian.org
Archive: http://lists.debian.org/201111041151.27892.h.wismes@free.fr
Le vendredi 04 novembre 2011, Grégory Bulot a écrit :
Le Fri, 4 Nov 2011 11:20:26 +0100, , vous avez écrit : > mot clé (motcle) = "biographie richard stallman" > $query_string = "SELECT * FROM table WHERE infos LIKE '%$motcle%' ";
- like '%$motcle[1] or like '%$motcle[1] .... ainsi de suite jusqu'au de rnier mot Grégory BULOT
--------------
Ne serait-ce pas : like '%$motcle[1] or like '%$motcle[2]
Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe" vers En cas de soucis, contactez EN ANGLAIS Archive: http://lists.debian.org/
Bonjour, Bonsoir,
Le Fri, 4 Nov 2011 11:51:27 +0100, h.wismes@free.fr, vous avez écrit :
Ne serait-ce pas : like '%$motcle[1] or like '%$motcle[2]
Si toutafait :-D
Comment compter les mots du mot clé ?
Autant de solutions que de Dev php présent sur cette liste,
je ferais un foreach
http://docs.php.net/manual/fr/control-structures.foreach.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 debian-user-french-REQUEST@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmaster@lists.debian.org
Archive: http://lists.debian.org/20111104123845.18a738bf@bulot-fr.com
Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe" vers En cas de soucis, contactez EN ANGLAIS Archive: http://lists.debian.org/
Bonjour,
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 :
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 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 debian-user-french-REQUEST@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmaster@lists.debian.org
Archive: http://lists.debian.org/20111104114501.GC24562@espinasse
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 debian-user-french-REQUEST@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmaster@lists.debian.org
Archive: http://lists.debian.org/201111041359.31157.h.wismes@free.fr
Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe" vers En cas de soucis, contactez EN ANGLAIS Archive: http://lists.debian.org/
Debian liste FR
Bonjour
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" ?
J'avoue ne pas saisir le sens de ton expression de besoin. Cherches-tu à ne récupérer que les enregistrements qui contiennent ET biographie ET richard ET stallman ?
Quel serait la syntaxe SQL ou php en ce sens ... ?
amha, SQL
D'autres critères rentrent en compte, comme la base de données. Par exemple, mysql (d'autres aussi) a des méthodes de recherche et d'extraction enrichies, sur des champs plus spécifique comme "fullText".
p.s. Dans le cas de recherche de caractères, "=" fera la distinction minuscules/majuscules, et LIKE les confondra, ce qui peut être utile
Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe" vers En cas de soucis, contactez EN ANGLAIS Archive: http://lists.debian.org/
Bonjour
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" ?
J'avoue ne pas saisir le sens de ton expression de besoin.
Cherches-tu à ne récupérer que les enregistrements qui contiennent ET
biographie ET richard ET stallman ?
Quel serait la syntaxe SQL ou php en ce sens ... ?
amha, SQL
D'autres critères rentrent en compte, comme la base de données. Par
exemple, mysql (d'autres aussi) a des méthodes de recherche et
d'extraction enrichies, sur des champs plus spécifique comme "fullText".
p.s. Dans le cas de recherche de caractères, "=" fera la distinction
minuscules/majuscules, et LIKE les confondra, ce qui peut être utile
--
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/64009.192.44.63.162.1320411793.squirrel@rtr.homelinux.org
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" ?
J'avoue ne pas saisir le sens de ton expression de besoin. Cherches-tu à ne récupérer que les enregistrements qui contiennent ET biographie ET richard ET stallman ?
Quel serait la syntaxe SQL ou php en ce sens ... ?
amha, SQL
D'autres critères rentrent en compte, comme la base de données. Par exemple, mysql (d'autres aussi) a des méthodes de recherche et d'extraction enrichies, sur des champs plus spécifique comme "fullText".
p.s. Dans le cas de recherche de caractères, "=" fera la distinction minuscules/majuscules, et LIKE les confondra, ce qui peut être utile
Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe" vers En cas de soucis, contactez EN ANGLAIS Archive: http://lists.debian.org/
Jean-Michel OLTRA
Bonjour,
Le vendredi 04 novembre 2011, a écrit...
> 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') .
As tu rajouté l'index fulltext ?
alter table `table` add fulltext(liens,comments);
Voir également les possibilités de 'query expansion' pour la recherche fulltext, éventuellement : against ('motif' with query expansion)
Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe" vers En cas de soucis, contactez EN ANGLAIS Archive: http://lists.debian.org/
Bonjour,
Le vendredi 04 novembre 2011, h.wismes@free.fr a écrit...
> 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') .
As tu rajouté l'index fulltext ?
alter table `table` add fulltext(liens,comments);
Voir également les possibilités de 'query expansion' pour la recherche
fulltext, éventuellement : against ('motif' with query expansion)
--
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 debian-user-french-REQUEST@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmaster@lists.debian.org
Archive: http://lists.debian.org/20111104131011.GE24562@espinasse
> 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') .
As tu rajouté l'index fulltext ?
alter table `table` add fulltext(liens,comments);
Voir également les possibilités de 'query expansion' pour la recherche fulltext, éventuellement : against ('motif' with query expansion)
$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" ?
Code symbolique: SELECT * FROM table WHERE infos LIKE '%motcle1%' INTERSECT SELECT * FROM table WHERE infos LIKE '%motcle2%' INTERSECT SELECT * FROM table WHERE infos LIKE '%motcle3%';
$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" ?
Code symbolique:
SELECT * FROM table WHERE infos LIKE '%motcle1%' INTERSECT
SELECT * FROM table WHERE infos LIKE '%motcle2%' INTERSECT
SELECT * FROM table WHERE infos LIKE '%motcle3%';
Quel serait la syntaxe SQL ou php en ce sens ... ?
SQL
--
He who sneezes without a handkerchief takes matters into his own hands.
--
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/20111104145852.7b903eac@anubis.defcon1
$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" ?
Code symbolique: SELECT * FROM table WHERE infos LIKE '%motcle1%' INTERSECT SELECT * FROM table WHERE infos LIKE '%motcle2%' INTERSECT SELECT * FROM table WHERE infos LIKE '%motcle3%';
--
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/201111041628.36724.h.wismes@free.fr
--
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/8739e37rtl.fsf@fermat.tourde.home