Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

  1. #1
    Membre régulier
    Inscrit en
    mai 2005
    Messages
    364
    Détails du profil
    Informations forums :
    Inscription : mai 2005
    Messages : 364
    Points : 120
    Points
    120
    Par défaut Chercher et remplacer des valeurs dans toute un table et différents champs
    Bsoir,

    J'aimerais savoir s'il est possible via une requête sql de faire l'équivalent de la fonction replace par exemple (php, asp,....)

    Je m'explique:

    J'ai des enregistrements dans ma base de donnéée (mysql) qui contient des caractères é,è, < , >, etc...

    Lorsque ma page web les affiche, du coup, la page ne passe plus le w3c

    Mo but est donc de faire une requête qui me modifierait en un seul coup tous ces caractères

    Je précise que étant donné que maintenant, toute nouvelle insertion dans la base de donnée utilise une fonction pour convertir ces caractères, je ne peux pas effectuer le traiement à l'affichage, cela ferait double emploi comme par exemple avec &amp; qui me donnerait Merci d'avance de votre aide

  2. #2
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    octobre 2006
    Messages
    6 159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : octobre 2006
    Messages : 6 159
    Points : 11 415
    Points
    11 415
    Par défaut
    MySQL utilise REPLACE. Ceci dit, c'est une mauvaise idée que de stocker du code HTML dans ta base SQL, parce que cela fout en l'air toutes les recherches textuelles que tu peux faire (par exemple une recherche sur "récursif" ne trouvera pas "r&eacute;cursif", etc.).

    Normalement, la seule façon de s'en sortir sans devenir fou à cause des niveaux de codage multiples, c'est de ne stocker dans la base que tu texte pur et de l'encoder à l'affichage avec htmlentities.
    Antoun
    Expert Essbase, BO, SQL

    La bible d'Essbase, 2ème édition

  3. #3
    Membre régulier
    Inscrit en
    mai 2005
    Messages
    364
    Détails du profil
    Informations forums :
    Inscription : mai 2005
    Messages : 364
    Points : 120
    Points
    120
    Par défaut
    ok merci de ta réponse.
    Je vais donc suivre tes conseils. Je vais stocker le html, et le recoder abec ma fonction lors de l'affichage

    Merci à toi !

  4. #4
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    octobre 2006
    Messages
    6 159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : octobre 2006
    Messages : 6 159
    Points : 11 415
    Points
    11 415
    Par défaut
    euh... en fait mon conseil était de ne PAS stocker le HTML mais simplement le texte, et de l'encoder en HTML à l'affichage.

    En quoi consiste "le reste" ?
    Antoun
    Expert Essbase, BO, SQL

    La bible d'Essbase, 2ème édition

  5. #5
    Membre régulier
    Inscrit en
    mai 2005
    Messages
    364
    Détails du profil
    Informations forums :
    Inscription : mai 2005
    Messages : 364
    Points : 120
    Points
    120
    Par défaut
    oui ,c'est bien ce que j'avais compris.

    Mais je suis obligé de mettre un minimum de html dans la base (quelques <b>, des img, etc.... ), mais je n'encode pas les caractères html , accentués, et autres. je le fais seulement lors de l'affichage.

  6. #6
    Rédacteur/Modérateur

    Avatar de Antoun
    Homme Profil pro
    Architecte décisionnel
    Inscrit en
    octobre 2006
    Messages
    6 159
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Architecte décisionnel
    Secteur : Conseil

    Informations forums :
    Inscription : octobre 2006
    Messages : 6 159
    Points : 11 415
    Points
    11 415
    Par défaut
    C'est le problème quand on veut stocker du "texte riche". La solution classique consiste à utiliser une convention de codage avec d'autres caractères spéciaux... comme par exemple le BBcode. Ainsi, tu enregistres [i] plutôt que <i>, ce qui évite d'avoir à gérer une exception pour que <i> ne devienne pas &lt;i&gt;.
    Antoun
    Expert Essbase, BO, SQL

    La bible d'Essbase, 2ème édition

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 26/02/2014, 17h58
  2. Réponses: 1
    Dernier message: 04/02/2014, 17h14
  3. Réponses: 1
    Dernier message: 21/09/2011, 15h29
  4. Réponses: 4
    Dernier message: 23/04/2008, 18h03
  5. [MS SQL] Remplacer des valeurs dans plusieurs tables
    Par salmoliv dans le forum Langage SQL
    Réponses: 3
    Dernier message: 04/10/2006, 18h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo