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

  FORUM HardWare.fr
  Programmation
  PHP

  Recherche de mots dans une BDD avec et sans html

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Recherche de mots dans une BDD avec et sans html

n°1418088
Inekman
Posté le 02-08-2006 à 13:38:09  profilanswer
 

Salut,
 
J'ai un problème ( :sweat: ) pour lequel j'ai une solution ( :) ) qui ne marche pas ( :D )
 
Le problème : Dans une table d'une base de données, j'ai différents champs dont un "titre" de type varchar et un "contenu" de type text. Dedans j'ai du texte pouvant contenir des mots accentués de la forme "découper" ou "découper". Donc si dans le moteur de recherche que je code, je dois rechercher le mot "découper", il trouve l'un mais pas l'autre.
 
Une solution : Exécuter un requête qui recherche aussi bien "découper" que "découper" en utilisant cette requête :
SELECT * FROM matable WHERE LOWER(contenu) LIKE "%découper%" OR LOWER(contenu) LIKE "%découper%"
 
Marche pas : C'est là que je capte pas puisque quand on saisit le mot, je parviens à le récupérer correctement mais pas moyen de faire la requête avec le mot sous sa forme saisie et la forme avec htmlentities. Je fais ceci :
 
$sql = 'SELECT * FROM matable WHERE LOWER(contenu) LIKE "%'. $mot .'%" OR LOWER(contenu) LIKE "%'. htmlentities($mot) .'%"
 
Et cette requête me retourne kedal. Et en l'affichant à l'écran par un echo, les 2 mots sont de la forme "découper" et non l'un avec accent et l'autre avec l'entité...
 
Est-ce que la méthode est bonne ?

mood
Publicité
Posté le 02-08-2006 à 13:38:09  profilanswer
 

n°1418105
anapajari
s/travail/glanding on hfr/gs;
Posté le 02-08-2006 à 13:52:33  profilanswer
 

1- tu te décides un fois pour toute, soit tu stockes tes champs "tel quel avec les accents" ( solution généralement préconisé quand les données sont le plus souvent accèdées en ecriture/modification, attention au charset de ta base, tes scripts et de ton html) soit tu stockes tes champs htmlisés ( solution préconisée quand la plupart de tes accès sont font en lecture, tu evites ainsi de retraiter les resultats de ta requête sql)
2-tu utilises les Full-Text Search Functions ( tu trouveras dans la doc) pour ce genre de recherche
3- tu arrêtes de t'étonner que:

Code :
  1. print "Découper";
  2. print "Découper";


affiche la même chose dans ton navigateur... Regarde le code source de ta page html plutôt

n°1418184
Inekman
Posté le 02-08-2006 à 14:41:49  profilanswer
 

anapajari a écrit :

1- tu te décides un fois pour toute, soit tu stockes tes champs "tel quel avec les accents" ( solution généralement préconisé quand les données sont le plus souvent accèdées en ecriture/modification, attention au charset de ta base, tes scripts et de ton html) soit tu stockes tes champs htmlisés ( solution préconisée quand la plupart de tes accès sont font en lecture, tu evites ainsi de retraiter les resultats de ta requête sql)


En ce qui concerne le champ "titre", c'est stocké avec les accents, par contre pour le champ "contenu" il s'agit de textes générés par FCK Editor. Alors je vais voir s'il est possible de lui dire de mettre avec les accents plutôt qu'avec les entités.

anapajari a écrit :


2-tu utilises les Full-Text Search Functions ( tu trouveras dans la doc) pour ce genre de recherche


Je vais voir ça.

anapajari a écrit :


3- tu arrêtes de t'étonner que:

Code :
  1. print "Découper";
  2. print "Découper";


affiche la même chose dans ton navigateur... Regarde le code source de ta page html plutôt


C'est le détail que j'ai oublié de préciser dans le 1er post, il s'agit de la requête lorsque je regarde le code source, mais pourquoi ce ton ?
 
Merci pour ta participation.

n°1418264
Inekman
Posté le 02-08-2006 à 15:42:13  profilanswer
 

anapajari a écrit :

2-tu utilises les Full-Text Search Functions ( tu trouveras dans la doc) pour ce genre de recherche


-> Un grand merci pour ça que je ne connaissais pas, c'est très puissant et parfait pour ce que j'ai à faire :hello:  


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Recherche de mots dans une BDD avec et sans html

 

Sujets relatifs
Recherche d'un PDF sur Crystal ReportExtraire du texte entre balise d'un .txt et generer html avec ce texte
boite de dialgue en html[HTML/CSS/JS/PHP] DEBUTANTS / NEWBIES, ce topic est pour vous :)
treegrid en html/javascriptrecherche programmeur php
Recherche codeur php/sql pour projet hebergement webCherche Codeur HTML
Encoder et decoder du html[Résolu] Alignement Html
Plus de sujets relatifs à : Recherche de mots dans une BDD avec et sans html


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