IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
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

PHP & Base de données Discussion :

Rechercher / remplacer dans la base MySQL [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 48
    Points : 38
    Points
    38
    Par défaut Rechercher / remplacer dans la base MySQL
    bonjour,

    je cherche à retrouver une fonction très pratique de la plupart des programmes windows : rechercher / remplacer, mais au sein de la base mysql.

    Exemple : dans la table "aaa" de la base "xyz", rechercher le texte 'hello' et remplacer par 'olla' là on on trouve hello.

    J'ai phpmyadmin, mais pas moyen de trouver la fonction.
    Peut-être un autre programme du même genre ?
    Ou une autre suggestion ?

    Par avance, merci pour votre aide !

  2. #2
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 060
    Points : 1 357
    Points
    1 357
    Par défaut
    Bonjour,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
      $sql = 'UPDATE aaa
              SET texte = \'olla\'
              WHERE texte = \'hello\'';
    ?>

  3. #3
    Expert confirmé
    Avatar de N1bus
    Homme Profil pro
    Dev. Web & OpenERP
    Inscrit en
    Janvier 2003
    Messages
    2 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Dev. Web & OpenERP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 827
    Points : 5 673
    Points
    5 673
    Par défaut
    Ou directement dans PhpMyadmin en sélectionnant la table puis en cliquant sur le bouton SQL :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    UPDATE `aaa` SET `texte` = 'olla' WHERE `texte` = 'hello'

  4. #4
    Membre actif Avatar de Momodedf
    Inscrit en
    Juillet 2007
    Messages
    246
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations forums :
    Inscription : Juillet 2007
    Messages : 246
    Points : 221
    Points
    221
    Par défaut
    Ou alors en utilisant une fonction SQL :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
      $sql = "UPDATE aaa
              SET texte = REPLACE(texte, 'hello', 'olla')
              WHERE texte LIKE('%hello%')";
    ?>
    Mieux d'utiliser le LIKE, si ton champ texte ne comprend exactement hello ça serait pas passé.

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 48
    Points : 38
    Points
    38
    Par défaut
    Bonjour et merci pour vos infos,

    Si je vous suis bien, il faut connaître le nom du champ où effectuer la modification, et il faut obligatoirement changer le champ en entier.

    Ce que je voudrais c'est rechercher/remplacer un mot voire un caractère dans tous les champs de la table. Exactement comme dans word ou excel... ('n'importe où dans le champ').

    Est-ce que par hasard eskuel ne le ferait pas ?

    merci pour vos infos !

    vince

    Citation Envoyé par Momodedf Voir le message
    Ou alors en utilisant une fonction SQL :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <?php
      $sql = "UPDATE aaa
              SET texte = REPLACE(texte, 'hello', 'olla')
              WHERE texte LIKE('%hello%')";
    ?>
    Mieux d'utiliser le LIKE, si ton champ texte ne comprend exactement hello ça serait pas passé.

  6. #6
    Membre actif Avatar de Momodedf
    Inscrit en
    Juillet 2007
    Messages
    246
    Détails du profil
    Informations personnelles :
    Âge : 35

    Informations forums :
    Inscription : Juillet 2007
    Messages : 246
    Points : 221
    Points
    221
    Par défaut
    En fait ce que tu veux faire est un update, et en SQL il faut donner la(les) colone(s) concernées par cet update.

    et il faut obligatoirement changer le champ en entier.
    Avec ce que je t'ai proposé tu ne change pas tout le champ mais juste la chaine de caractere 'hello' en 'olla'.
    Donc un champ où il serait écrit :

    hello world
    Donnera :

    olla world
    Par contre je crois que ça risque de poser probleme au niveau des majuscules.

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Octobre 2005
    Messages
    48
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2005
    Messages : 48
    Points : 38
    Points
    38
    Par défaut
    merci pour toutes ces infos. j'ai résolu le souci....

    bonne journée

    Citation Envoyé par Momodedf Voir le message
    En fait ce que tu veux faire est un update, et en SQL il faut donner la(les) colone(s) concernées par cet update.



    Avec ce que je t'ai proposé tu ne change pas tout le champ mais juste la chaine de caractere 'hello' en 'olla'.
    Donc un champ où il serait écrit :



    Donnera :



    Par contre je crois que ça risque de poser probleme au niveau des majuscules.

  8. #8
    Futur Membre du Club
    Inscrit en
    Juillet 2007
    Messages
    6
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 6
    Points : 9
    Points
    9
    Par défaut
    Après le déluge, mais tout ce qu'il y est plus haut ne fonctionne pas et le créateur du post dit avoir trouvé la soluce et ne la donne pas (comme trop souvent ) iii
    Voici le code équivalent au "rechercher/remplacer" Office dans Mysql.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    UPDATE aaa SET texte = replace(texte, 'hello', 'olla');

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

Discussions similaires

  1. Recherche des mots clés dans ma base MySQL
    Par maxdata dans le forum Langage
    Réponses: 4
    Dernier message: 17/12/2013, 00h28
  2. [MySQL] Moteur de Recherche dans une base mysql
    Par nostalamigo dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 14/04/2009, 22h33
  3. recherche dans une base mysql avec match against
    Par devdebutante dans le forum Langage SQL
    Réponses: 1
    Dernier message: 02/07/2008, 14h42
  4. [MySQL] Créer une zone de recherche dans une base mysql
    Par mohamed2006 dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 25/02/2008, 11h00
  5. Rechercher remplacer dans base MySQL
    Par mandala75 dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 21/09/2006, 15h14

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