Page 1 sur 1

je cherche un moteur recherche plus précis

Posté : 05 mai 2010, 06:33
par virginie
Bonjour, j'utilise actuellement le script ci dessou pour trouver les mots dans ma bdd, le soucis c'est que si je tapes vélo par exemple il va aussi me sortir velour ou enveloppe etc... Puis je trouver un terme plus précis dans ma requete. Merci pour votre aide.
 
$sql = mysql_db_query($sql_bdd,"SELECT * FROM ". $rechtable ." WHERE titre LIKE '%".$recherche."%' ;",$db_link) or die(mysql_error());
 

Re: je cherche un moteur recherche plus précis

Posté : 05 mai 2010, 09:03
par Calimero
Bonjour,

Le caractère % a une valeur de joker pour l'opérateur LIKE pour mysql, comme écrit dans le manuel. A priori c'est par là que tu devrais chercher ;)

Re: je cherche un moteur recherche plus précis

Posté : 05 mai 2010, 09:38
par Berzemus
like N'EST PAS UN MOTEUR DE RECHERCHE

Bon, il fallait que je le dissasse.

Pour un vrai moteur de recherche, voir ici.

Re: je cherche un moteur recherche plus précis

Posté : 14 mai 2010, 21:49
par virginie
Ok merci, je viens de trouver pour aider les autres

annonce c'est votre table ou vous cherchez

titre et description sont les colonnes ou vous cherchez

velo c'est le mot que vous recherchez
$sql = mysql_db_query($sql_bdd,"SELECT * FROM annonce WHERE MATCH (titre,description) AGAINST ('+velo' IN BOOLEAN MODE) ORDER BY id DESC LIMIT ". $_GET['debut'] .",". $nb_affichage_par_page ." ;",$db_link) or die(mysql_error());
Comment pourrais je ajouter une couleur dans le résultat à chaque fois que le mot velo s'affiche

Re: je cherche un moteur recherche plus précis

Posté : 14 mai 2010, 23:10
par stealth35
avec un str_replace, genre
str_replace('velo', '<span style="color:#ff8888">velo</span>');

Re: je cherche un moteur recherche plus précis

Posté : 15 mai 2010, 11:36
par virginie
Ok merci pour ton aide mais
str_replace('velo', '<span style="color:#ff8888">velo</span>');
j'ai tester plusieurs fois et je n'arrive pas à le faire fonctionner dans while et avec une variable variable à la place de vélo
$sql = mysql_db_query($sql_bdd,"SELECT * FROM annonce WHERE MATCH (titre,description) AGAINST ('+$recherche' IN BOOLEAN MODE) ORDER BY id DESC LIMIT ". $_GET['debut'] .",". $nb_affichage_par_page ." ;",$db_link) or die(mysql_error());
 	
while ($data = mysql_fetch_array($sql))