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

  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [Résolu] PHP MySQL - Problème de recherche dans la base

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[Résolu] PHP MySQL - Problème de recherche dans la base

n°1538687
Nitro12
Posté le 04-04-2007 à 21:58:25  profilanswer
 

Bonjour à tous,
 
Voici mon problème :
Je dispose d'une base MySQL stockant diverses informations ainsi qu'un moteur de recherche codé en PHP. Le problème survient lorsque je recherche un mot accentué dans la base. Mettons que la base stocke le mot évènement. Si je passe en paramètre à mon moteur le mot évènement, aucun souci, par contre si je recherche le mot evenement, ca ne marche pas. J'utilise la clause like dans ma requete sql. J'ai cherché un peu sur le net et apparamment en utilisant like (au lieu de =) ca marche. Je ne sais pas vraiment d'ou cela peut venir. Si cela peut aider, le champ sur lequel je souhaite faire la recherche et de type text et l'interclassement est latin1_general_ci. Ma base est la base MySQL fournit par free. Le problème survient aussi avec les majuscules, si je recherche Toto et que le mot stocké dans la base vaut toto, ca ne marche pas non plus...
 
Par avance merci pour votre aide  :jap:


Message édité par Nitro12 le 05-04-2007 à 20:38:34
mood
Publicité
Posté le 04-04-2007 à 21:58:25  profilanswer
 

n°1538697
Martius
il/lui
Posté le 04-04-2007 à 22:18:31  profilanswer
 

Alors très vaguement, tu peux regarder la doc MySQL au niveau des fonctions REGEXP (pour faire des expressions conditionnelles par exemple), soundex (qui permettent de comparer des chaines de caractères en fonction de leur sonorité) et sinon, les opérateurs booléens qui fonctionnent avec MATCH/AGAINST.

n°1538793
MagicBuzz
Posté le 05-04-2007 à 09:42:28  profilanswer
 

utilise les hints concernant le charset utilisé et surtout, la méthode de comparaison des lettres accentuées.

n°1538891
Nitro12
Posté le 05-04-2007 à 12:49:51  profilanswer
 

Merci pour vos réponses. J'ai tester avec SOUNDEX, ca a pas l'air de marcher du tout, de plus j'ai vu que l'algorithme était basé sur les sonorités anglaises, par exemple "âne" et "ânes" ne "sonneront" pas pareil... J'ai essayer dans ma requete d'utiliser MATCH et AGAINST, sans résultat : select * from table where MATCH(nom_champ) AGAINST('$mot_cherche'). A moins que ce ne soit pas comme ca que ca s'utilise??  
MagicBuzz, qu'appelle tu hints et méthode de comparaison des lettres accentuées?

n°1538910
pikti
I’ve done worse
Posté le 05-04-2007 à 13:21:33  profilanswer
 

La collation (COLLATE) peut t'aider aussi, tu peux comparer des chaînes en tenant ou non compte de la casse, des accents... sans toucher à la collation de la base ou de la colonne
 
http://www.google.com/search?clien [...] 8&oe=utf-8

n°1538930
MagicBuzz
Posté le 05-04-2007 à 14:12:50  profilanswer
 

pikti a écrit :

La collation (COLLATE) peut t'aider aussi, tu peux comparer des chaînes en tenant ou non compte de la casse, des accents... sans toucher à la collation de la base ou de la colonne
 
http://www.google.com/search?clien [...] 8&oe=utf-8


voilà, c'est collate, me souvenait plus du nom exact :jap:

n°1539235
Nitro12
Posté le 05-04-2007 à 20:37:42  profilanswer
 

Merci pour vos réponses. En étudiant de plus près la collation à l'aide d'un bon tuto que vous trouverez à cette adresse :  
http://antoun.developpez.com/mysql [...] ations.pdf
j'ai pu résoudre mon problème en remplaçant tout simplement mon Interclassement qui était accent sensitive contre un qui ne l'était pas.
 
Merci encore


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  SQL/NoSQL

  [Résolu] PHP MySQL - Problème de recherche dans la base

 

Sujets relatifs
Centrer un site internet [RESOLU]Problème positionnement div
Problème de type: Pixel =int, char ?PHP+SQL afficher 5 news et avoir accès aux autres...
[VB] Lancer excel à partir d'un programme VB [Résolu]liste déroulante pour choisir une base de donnée différente
[RESOLU] Erreur dans galerie en JavaScript.[html/css/js ??] script de screenshot [resolu]
probleme avec serveur MySQL 
Plus de sujets relatifs à : [Résolu] PHP MySQL - Problème de recherche dans la base


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR