Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
4112 connectés 

 


Dernière réponse
Sujet : [MySQL] requete en omettant un mot
six_dfx utilise les recherches booleennes de mysql 4

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
six_dfx utilise les recherches booleennes de mysql 4
haazheel

ethernal a écrit a écrit :

Sh@rdar> merci :D mais l'idée vient de toi  :jap:  
 
Haazheel> tu pourrais me donner cette puissante regexp pour ma culture générale stp ? ;) on sait jamais que j'en ai besoin :lol:  




 
Pas de problèmes...
 
Mais je sais pas quand j'aurai le temps de m'y consacrer... Fin de semaine au grand maximum...

ethernal Sh@rdar> merci :D mais l'idée vient de toi  :jap:  
 
Haazheel> tu pourrais me donner cette puissante regexp pour ma culture générale stp ? ;) on sait jamais que j'en ai besoin :lol:
Sh@rdar vive les regexp !!!!!!!!  :D  
mine de rien c'est puissant ces petites bêtes
 
mention très bien pour ethernal ;)
haazheel merci à tous, mais j'avais trouvé tout seul comme un grand en matant dans le fichier search.php de Phorum, qui propose une telle fonctionnalité...
 
@+
youdontcare ethernal > :jap: effectivement, c'est plus simple que je ne le pensais.
ethernal un split ou un explode oui, mais imagine une regexp qui te remplace les " +" par des "AND mot like '%\\1%'" et les " -" par des "AND NOT mot like '%\\1%'".
en 2 lignes tu as fini... mais les regexp et moi :D :(
 
un truc du genre (non testé et surement faux!!)
$critere= eregi_replace("+([:alnum:]*)"," AND mot like '%\\1%'", $critère);
$critere= eregi_replace("-([:alnum:]*)"," AND mot NOT like '%\\1%'", $critère);
 
à méditer ;)

 

[edtdd]--Message édité par ethernal--[/edtdd]

youdontcare

Sh@rdar a écrit a écrit :

mais pour ça faut d'abord les traiter, je suggère donc une expression régulière  ;) , on découpe au niveau des espaces, on récupère les différents mots, avec un + devant on mets LIKE '%keyword%' et avec un - moins NOT LIKE '%keyword2%'  



WHAT ?????? alors qu'un explode(" ", ...) suffit bien ! :D

Suri Ah ouais!! un parser quoi!
Putain c vraiment bien le C qd on y pense..;
le truc le plus dur c de se decoller des pointeurs apres..:(
Sh@rdar disons que les mots tapés dans le moteur changent (ils sont tapés par l'utilisateur) donc il faut un système permettant d'isoler les mots avec un - devant de manière à les écarter lors de la recherche (comme ta query).
 
mais pour ça faut d'abord les traiter, je suggère donc une expression régulière  ;) , on découpe au niveau des espaces, on récupère les différents mots, avec un + devant on mets LIKE '%keyword%' et avec un - moins NOT LIKE '%keyword2%'
Suri

Sh@rdar a écrit a écrit :

 
 
hum...  
ça c'est le résultat final, mais pour traiter les mots tapés dans le moteur ?  




 
ben j'ai rien compris alors...  :sweat:

Sh@rdar

Suri a écrit a écrit :

 
 
ou where mot=indien OR mot=navaro AND NOT mot=iroquoi...  




 
hum...  
ça c'est le résultat final, mais pour traiter les mots tapés dans le moteur ?

Suri

Sh@rdar a écrit a écrit :

une petite expression régulière ?  




 
ou where mot=indien OR mot=navaro AND NOT mot=iroquoi...

Sh@rdar une petite expression régulière ?
Clubic tu peut etre un peu plus clair ?
haazheel slt,
 
c'est pour un moteur de recherche.
 
si on entre par exemple:
indien +navajo -iroquoi
 
il me met les champs contenant indien+navajo mais pas avec iroquoi...
 
si qqn peut m'aider...

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)