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 :

Modifier une partie d'un champ en SQL [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 118
    Par défaut Modifier une partie d'un champ en SQL
    Bonjour,

    J'ai une base Mysql et phpmyadmin.

    Dans une table utilisateur, je souhaite modifier une partie d'un champ, en fait les adresses mails de mes utilisateurs ont changé et je dois modifier le domaine uniquement... je sais faire un update tout simple mais je ne sais pas modifier une partie du champ en conservant l'autre partie (par ex : toto@stade.fr qui doit devenir toto@StadeToulousain.fr )

    Merci
    Mikka

  2. #2
    Membre chevronné Avatar de beejeridou
    Homme Profil pro
    Webmaster
    Inscrit en
    Février 2007
    Messages
    280
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Webmaster

    Informations forums :
    Inscription : Février 2007
    Messages : 280
    Par défaut
    Dans ce cas la, tu récupère ton champs email, dans ta base et tu le traite en php, la fonction str_pos est ton amie!

    regarde bien l'exemple, il y a ta réponse dedans!

    http://us.php.net/str_pos

  3. #3
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 818
    Billets dans le blog
    14
    Par défaut
    Directement en SQL c'est faisable aussi.
    Il te faut remplacer le morceau de chaîne de caractères situé après l'@ par une autre chaîne de caractère. Donc tu gardes la gauche de la chaine jusqu'à l'@ et tu ajoutes ta chaine de remplacement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    UPDATE TaTable
    SET TaColonne = CONCAT(LEFT(TaColonne, INSTR(TaColonne, '@')), 'TaNouvelleChaine')
    WHERE RIGHT(TaColonne, LENGTH(TaColonne) - INSTR(TaColonne, '@')) = 'TaChaineARemplacer'
    A essayer.

    PS : Allez le Stade !
    Doublé Championnat et Coupe d'Europe cette année ?

    EDIT à 11h11 : Correction de la requête
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 118
    Par défaut
    je sais pas faire du php !

    alors j'ai testé le update :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    UPDATE `glpi_users`
    SET email = LEFT(email, INSTR(email, '@')) || stade-toulousain.fr
    WHERE RIGHT(email, LENGTH(email - INSTR(email, '@'))) = stade.fr

    Erreur
    requête SQL:

    UPDATE `glpi_users` SET email = LEFT( email, INSTR( email, '@' ) ) || stade.fr WHERE RIGHT( email, LENGTH( email - INSTR( email, '@' ) ) ) = stade-toulousain.fr

    MySQL a répondu:

    #1054 - Unknown column 'stade.fr' in 'where clause'


    PS : vive le stade !

  5. #5
    Expert éminent
    Avatar de CinePhil
    Homme Profil pro
    Ingénieur d'études en informatique
    Inscrit en
    Août 2006
    Messages
    16 818
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur d'études en informatique
    Secteur : Enseignement

    Informations forums :
    Inscription : Août 2006
    Messages : 16 818
    Billets dans le blog
    14
    Par défaut
    J'ai remarqué aussi qu'il y avait une erreur et je viens de corriger la requête.
    N'oublie pas de mettre entre ' les chaines de caractère !
    Philippe Leménager. Ingénieur d'étude à l'École Nationale Supérieure de Formation de l'Enseignement Agricole, en retraite... mais toujours Autoentrepreneur à l'occasion.
    Mon ancien blog sur la conception des BDD, le langage SQL, le PHP... et mon nouveau blog sur les mêmes sujets.
    « Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément ». (Nicolas Boileau)
    À la maison comme au bureau, j'utilise la suite Linux Mageïa !

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 118
    Par défaut
    idem

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

Discussions similaires

  1. modifier une partie d'un champ
    Par yohann26 dans le forum Langage SQL
    Réponses: 2
    Dernier message: 13/12/2007, 10h04
  2. Réponses: 4
    Dernier message: 19/06/2007, 17h51
  3. Réponses: 14
    Dernier message: 26/03/2007, 16h52
  4. tri sur une partie d'un champ
    Par yoline dans le forum Access
    Réponses: 4
    Dernier message: 19/09/2005, 11h25
  5. Modifier une partie de la source
    Par Sékiltoyai dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 29/10/2004, 21h52

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