begin process at 2012 05 31 03:22:13
  Trouver un code source :
 
dans
 
Accueil > Forum > 

PHP

 > 

Base de données

 > 

MySQL

 > 

LIKE %% dans un champs qui contient de l'HTML


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

LIKE %% dans un champs qui contient de l'HTML

vendredi 3 décembre 2010 à 14:35:39 | LIKE %% dans un champs qui contient de l'HTML

xactise

Membre Club

Bonjour à tous !

Voici mon problème.

J'ai un champs longtext en BDD qui contient du code HTML (générer par un editeur WYSIWYG)

je souhaiterai faire une recherche sur ce champs en utilisant LIKE "%xx%" le problème est le suivant :

Admétons que je recherche "bonjour"

et que dans ma BDD j'ai sa qui est renseigner :

"<span style='font-weight:bold;">B</span>onjour"

autrement dit : Bonjour

Comment faire j'ai fait des recherche de REGEXP_REPLACE ou un strip_tags spécial mySQL, mais je trouve rien

quelqu'un pourrait-il m'orienté ?

D'avance merci,

L0rD...
vendredi 3 décembre 2010 à 14:38:43 | Re : LIKE %% dans un champs qui contient de l'HTML

ludwig59

Bonjour,

Personnellement, je ne sais pas si c'est la bonne méthode, mais lorsque j'enregistre ce genre de champ en BDD, je crée un 2ème champ qui contient le contenu sans le html (avec strip_tags) que j'utilise pour les requêtes de recherche.
vendredi 3 décembre 2010 à 14:40:36 | Re : LIKE %% dans un champs qui contient de l'HTML

ludwig59

De plus,
Après avoir supprimé les balise html avec strip_tags, j'utilise html_entity_decode pour enregistrer les accents non encodé.
vendredi 3 décembre 2010 à 14:40:40 | Re : LIKE %% dans un champs qui contient de l'HTML

xactise

Membre Club

Oui j'y es songé... mais j'ai déjà plein de champs déjà :) et j'ai énormement ce genre de champs ! donc je préfèrerai une autre solution si possible

merci,


L0rD...
mercredi 8 décembre 2010 à 11:33:57 | Re : LIKE %% dans un champs qui contient de l'HTML

xactise

Membre Club
Réponse acceptée !

Pour ce que sa interesse il existe une procédure a déclare dans MySQL pour pouvoir faire ce genre de requête la voici

Code :
USE NOM_BDD_ICI
SET GLOBAL log_bin_trust_function_creators=1;
DROP FUNCTION IF EXISTS fnStripTags;
DELIMITER |
CREATE FUNCTION fnStripTags( Dirty varchar(4000) )
RETURNS varchar(4000)
DETERMINISTIC
BEGIN
 DECLARE iStart, iEnd, iLength int;
 WHILE Locate( '<', Dirty ) > 0 And Locate( '>', Dirty, Locate( '<', Dirty )) > 0 DO
   BEGIN
     SET iStart = Locate( '<', Dirty ), iEnd = Locate( '>', Dirty, Locate('<', Dirty ));
     SET iLength = ( iEnd - iStart) + 1;
     IF iLength > 0 THEN
       BEGIN
         SET Dirty = Insert( Dirty, iStart, iLength, '');
       END;
     END IF;
   END;
 END WHILE;
 RETURN Dirty;
END;
|
DELIMITER ;


et ensuite peut s'utiliser aisaiment sur la BDD déclarer de cette manière

SELECT * FROM `table` WHERE fnStripTags(`champ`) LIKE "%bonjour%"

fnStripTags va se charger de strip_tags le contenu HTML du champ

L0rD...


Cette discussion est classée dans : recherche, champs, html, contient, like


Répondre à ce message

Sujets en rapport avec ce message

MySQL : recherche sur une table entiere [ par 4feeling ] j'aimerais savoir quel parametre il faut mettre dans la requete SELECT pour rechercher sur toute une table entiere (et non champs par champs avec un W Php/MySQL - Recherche puis tri [ par lm007npg ] Bonsoir à tous,Je suis en train de réaliser un moteur de recherche pour mon site. J'ai une requête dans ce genre :SELECT * FROM ma_table WHERE descrip pb avec une recherche [ par neotetsuo34 ] bonjour, quand je lance ma recherche avec 6 critères, elle fonctionne impeccable mais quand je mets un septième critère, elle ne fonctionne plus. j'ai formulaire / cookie [ par jojo545 ] J'ai une page formulaire.html qui contient ça : < Moteur de recherche [ par Tilix ] Salut, je cherche à faire un moteur de recherche avec plusieurs champs, de ce genre : <input name="ph Recherche multiple [ par coockiesch ] Hello!J'aimerai faire une recherche dans plusieurs champs d'une table MySQL, j'ai ma requête comme ceci (pour un champ):$sql_query = "SELECT caption F Requete SQL sur champs qui stocke du HTML [ par ludo2k ] Salut les zamis, j'ai un prob! J'utilise un éditeur wysiwyg (fckeditor), celui ci m'enregistre tout le code HTML de la mise en page que je fais avec, [PHP] Recherche d'astuce pour la lisibilité code HTML [ par Helbi ] Bonjour,Je suis à la recherche d'une astuce pour mieux indenter le code de page html que je construis via PHP.Pour améliorer un peu les choses j'utili form de recherche [ par obcstaff ] Salut, j'ai une table appelé fichier, dans ceel ci, 3 champs (Num, nom, date). Je suis debutant et j'ai absolument besoin d'un moteur de recherche de Moteur de recherche sur plusieurs mots [ par loupile ] Bonjour, je me suis inspiré ce que proposais kankrelune pour mon moteur, mais voià ca marche super avec un seul mot, mais dès qu'il y en a 3 ca ne fon


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,406 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales