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

Langage PHP Discussion :

Faire un UPDATE sur tous les champs ?


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Inscrit en
    Octobre 2008
    Messages
    329
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 329
    Points : 97
    Points
    97
    Par défaut Faire un UPDATE sur tous les champs ?
    Bonjour

    J'ai une question toute bête, mais je suis débutant !

    Je développe un formulaire ou l'utilisateur peut faire des modifications sur son profil. Modifier son pseudo, sa ville, son téléphone, etc..

    Au moment de faire l'UPDATE dans la base de données, dois-je le faire sur tous les champs, ou est-il possible de ne le faire que sur les champs qui ont été modifiés ?

    S'il est possible de le faire que sur les champs qui ont été modifiés, quelle est la méthode à adopter ? Existe-il une commande spéciale ?

    Merci pour votre aide

  2. #2
    Membre averti Avatar de mdr_cedrick
    Profil pro
    Développeur multimédia
    Inscrit en
    Janvier 2008
    Messages
    374
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur multimédia

    Informations forums :
    Inscription : Janvier 2008
    Messages : 374
    Points : 336
    Points
    336
    Par défaut
    ta question concerne plus le SQL que le php

    alors oui bien sûr tu peux updater seulement les champs que tu veux avec un requête dans ce genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    "UPDATE maTable SET login='nvLogin', pass='nvPass', email='nvelEmail' WHERE id='idDuMembre'"
    tu n'est absolument pas obligé d'updater tous les champs de ta table mais seulement ceux que tu veux soumets à modifications

    bon courage
    Pour voir qu'il fait noir, on n'a pas besoin d'être une lumière

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    38
    Détails du profil
    Informations personnelles :
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Avril 2007
    Messages : 38
    Points : 71
    Points
    71
    Par défaut Il y a mille réponses
    C'est un choix d'organisation du code.

    Mais c'est du sql plus que du php.

  4. #4
    Membre régulier
    Inscrit en
    Octobre 2008
    Messages
    329
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 329
    Points : 97
    Points
    97
    Par défaut Incompréhension
    Exact il aurait peut-être mieux fallu poster dans le SQL... Mais l'avenir nous le dira...!

    Tu ne m'as pas bien compris cedrick je pense...

    En fait je voudrais faire le UPDATE uniquement sur les champs qui ont été modidiés afin réduire les temps d'écriture (par exemple il n'est pas nécessaire de réécrire dans la base tous les champs si juste le téléphone a été modifié).

    Il faudrait peut-être tester si les champs récupérés dans le formulaire sont identiques aux anciens, et ensuite faire le UPDATE uniquement sur les champs modifiés. On serait alors dans du PHP !

    Qu'en pensez-vous ?

  5. #5
    Membre averti Avatar de mdr_cedrick
    Profil pro
    Développeur multimédia
    Inscrit en
    Janvier 2008
    Messages
    374
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur multimédia

    Informations forums :
    Inscription : Janvier 2008
    Messages : 374
    Points : 336
    Points
    336
    Par défaut
    ah ok !

    mais dans ce cas comment savoir si un champs a été modifié ?
    en stockant tes valeurs de bases dans des sessions peut-être en ensuite vérifier si les valeurs ont été changées.
    Mais à mon avis ça relève plus de la bidouille qu'autre chose.

    De plus l'update d'une ligne doit prendre quelques millisecondes à tout cassé, même avec 50 colonnes.

    enfin d'autres auront des meilleurs idées que moi
    Pour voir qu'il fait noir, on n'a pas besoin d'être une lumière

  6. #6
    Membre régulier
    Inscrit en
    Octobre 2008
    Messages
    329
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 329
    Points : 97
    Points
    97
    Par défaut Bloub...
    Les données je les ai déjà ! Je n'affiche pas le formulaire vierge, je récupère les données déjà inscrites dans la base et je les affiche dans le formulaire pour modification éventuelle.

    Il faudrait donc au traitement du formulaire comparer $telephone et $nvtelephone, faire cette comparaison sur les 40 champs de mon formulaire, et s'ils ne sont pas égaux faire une concaténation de tous les champs modifiés pour enfin faire l'UPDATE...

    Mais ça me semble un peu tordu...

    "De plus l'update d'une ligne doit prendre quelques millisecondes à tout cassé, même avec 50 colonnes."

    Tu as raison c'est peut-être se compliquer pour pas grand-chose...

    Quelqu'un a une autre idée ?

  7. #7
    Membre averti Avatar de mdr_cedrick
    Profil pro
    Développeur multimédia
    Inscrit en
    Janvier 2008
    Messages
    374
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur multimédia

    Informations forums :
    Inscription : Janvier 2008
    Messages : 374
    Points : 336
    Points
    336
    Par défaut
    Citation Envoyé par pasc06 Voir le message
    Il faudrait donc au traitement du formulaire comparer $telephone et $nvtelephone, faire cette comparaison sur les 40 champs de mon formulaire, et s'ils ne sont pas égaux faire une concaténation de tous les champs modifiés pour enfin faire l'UPDATE...
    oui c'est bien ce que j'essayais de t'expliquer mais désolé je ne suis pas très bon en pédagogie
    maintenant je pense aussi que mysql prendra moins de temps à updater toutes tes colonnes que ton code php à traiter tes données pour créer la requête... si tu es dans le cas où c'est le temps de traitement qui t'intéresse
    Pour voir qu'il fait noir, on n'a pas besoin d'être une lumière

  8. #8
    Membre régulier
    Inscrit en
    Octobre 2008
    Messages
    329
    Détails du profil
    Informations forums :
    Inscription : Octobre 2008
    Messages : 329
    Points : 97
    Points
    97
    Par défaut Mouais...
    A moins d'un avis contraire je vais finalement faire un UPDATE sur tous les champs...

    Merci Cedrick !

  9. #9
    Inactif   Avatar de Deallyra
    Profil pro
    Étudiant
    Inscrit en
    Février 2007
    Messages
    1 997
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 1 997
    Points : 1 769
    Points
    1 769
    Par défaut
    Hum...

    Lorsque ta page s'affiche, ton formulaire est déjà pré rempli?

    Si oui, tu n'as qu'à re-envoyer les valeurs de base dans ton formulaire avec un input type="hidden" et ensuite comparer deux à deux tes valeurs.

    Tu n'enverras à ta requête SQL que la variable updatée si différente de la variable d'entrée au formulaire.
    *Si la réponse vous convient, n'oubliez pas le tag
    *Exprimez vous dans un français correct; on prend le temps de vous lire, prenez le temps de bien écrire.
    *Et comment on interprète votre code? N'oubliez pas la balise!

    *Pour une mise en page simple avec des divs.
    *Pour faire des formulaires xHTML CSS.

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

Discussions similaires

  1. UPDATE sur tous les champs en même temps > saisie rapide ?
    Par sendme dans le forum Requêtes et SQL.
    Réponses: 2
    Dernier message: 30/01/2011, 11h52
  2. [MySQL] Faire une recherche sur tous les champ commencant par ..
    Par bullrot dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 31/10/2008, 11h45
  3. [SQL Server 2000] UPDATE sur tous les champs de ma table
    Par neeux dans le forum Langage SQL
    Réponses: 8
    Dernier message: 11/12/2006, 10h13
  4. Réponses: 18
    Dernier message: 22/06/2006, 17h55
  5. une requete effectuant une recherche sur tous les champs
    Par raynor911 dans le forum Langage SQL
    Réponses: 3
    Dernier message: 13/02/2006, 15h06

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