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

Administration MySQL Discussion :

UPDATE donnée formulaire


Sujet :

Administration MySQL

  1. #1
    Membre confirmé
    Inscrit en
    Juin 2006
    Messages
    215
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 215
    Par défaut UPDATE donnée formulaire
    Bonjour,

    Je voudrais pouvoir modifier des données de ma TABLE mais je ne comprend pas pourquoi il n'éffectue pas les modifications ?
    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    $sql = " UPDATE
            MA_TABLE
            SET
            ref_client            = '".$_POST['ref_client']."'
            WHERE
            IDot                  = '".$_GET['IDot']."'" ;
     
     
    $result = mysql_query($sql) or die("Erreur MySQL : Impossible de sauvegarder la/les modification/s");
    Y aurais t'il une erreur ?

    D'avance merci

  2. #2
    Membre confirmé Avatar de Nillak
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 138
    Par défaut
    Si ref_client et IDot sont du type INT alors essaie :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $sql = " UPDATE MA_TABLE SET ref_client= ".$_POST['ref_client']."
    WHERE IDot = ".$_GET['IDot'];
    devrait suffir

  3. #3
    Membre confirmé
    Inscrit en
    Juin 2006
    Messages
    215
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 215
    Par défaut
    Citation Envoyé par Nillak
    Si ref_client et IDot sont du type INT alors essaie :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $sql = " UPDATE MA_TABLE SET ref_client= ".$_POST['ref_client']."
    WHERE IDot = ".$_GET['IDot'];
    devrait suffir
    Salut

    IDot est du TYPE INT mais ref_client est du type VARCHAR
    Ceci dit même en modifiant le type cela ne change rien.

    Merci

  4. #4
    Membre confirmé Avatar de Nillak
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 138
    Par défaut
    ne modifie pas le type de ta base, essaie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $sql = " UPDATE MA_TABLE SET ref_client= '".$_POST['ref_client']."'
    WHERE IDot = ".$_GET['IDot'];
    ou tout simplement décompose le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $REFC = $_POST['ref_client'];
    $IDOT = $_GET['IDot'];
    $sql = " UPDATE MA_TABLE SET ref_client= '".$REFC."'
    WHERE IDot = ".$IDOT;
    ensuite tu concateneras tout ça

  5. #5
    Membre confirmé
    Inscrit en
    Juin 2006
    Messages
    215
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 215
    Par défaut
    Voici mon code et cela ne change rien sinon l'erreur suivante :
    Impossible de sauvegarder les modifications
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    $REF_C = $_POST['ref_client'];
    $IDOT = $_GET['IDot'];
     
     
     
    echo $requete = " UPDATE
            MA_TABLE        SET
            ref_client            = '".$REF_C."'
            WHERE
            IDot                  = ".$IDOT ;
     
    $result = mysql_query($requete) or die("Erreur MySQL : Impossible de sauvegarder les modifications");
    Merci

  6. #6
    Membre confirmé Avatar de Nillak
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 138
    Par défaut
    Erf, Un autre truc tu récupères le résultat dans la variable $result or tu fais un UPDATE tu n'auras donc pas de retour.
    Ensuite pourquoi ne pas essayer pas à pas !
    Tu fais un UPDATE tout simple, je connais pas ta table donc je te donne ça un peu au hasard:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    mysql_query("UPDATE MA_TABLE SET ref_client='reftest' WHERE IDot =1");
    et ensuite tu vérifie que la ligne en question (soit IDot=1) a bien été modifié
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $result = mysql_query("SELECT ref_client FROM MA_TABLE WHERE IDot=1");

  7. #7
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Par défaut
    euh.. c'est quoi le echo qui se balade??
    defini $requete et fais le echo apres
    et dis nous ce que te retourne cet echo

  8. #8
    Membre confirmé
    Inscrit en
    Juin 2006
    Messages
    215
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 215
    Par défaut
    Citation Envoyé par Cybher
    euh.. c'est quoi le echo qui se balade??
    defini $requete et fais le echo apres
    et dis nous ce que te retourne cet echo
    Le echo est là uniquement pour voir ma requete.

    Donc je voie quand je valide
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE MA_TABLE SET ref_client = '' WHERE IDot = ''
    mais je voudrais voir
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE MA_TABLE SET ref_client = 'xxxxxxx' WHERE IDot = 'xxxx'

  9. #9
    Membre confirmé Avatar de Nillak
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    138
    Détails du profil
    Informations personnelles :
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 138
    Par défaut
    bon me revoilou
    voici un petit script qui devrait te libérer de tes problèmes, que je viens d'écrire et tester sous easyphp. J'avais créé une table MA_TABLE dans la base querytest

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    <?php
      $REFC='sdsdsdsd';
      $IDOT='1';
     
      $mabasededonnee='querytest';
      $connection = mysql_connect('localhost','root','');
      if ( ! $connection ) die ('connection impossible');
      mysql_select_db($mabasededonnee) or die ('pas de connection');
     
      $requete_result=mysql_query("SELECT * from ma_table",$connection);
     
      mysql_query("UPDATE MA_TABLE SET ref_client = '".$REFC."' WHERE IDot = ".$IDOT,$connection);
      $numLigne = mysql_num_rows($requete_result);
      for ($i=0; $i < $numLigne; $i++)  {
        $ligne = mysql_fetch_array($requete_result);
        echo $ligne['ref_client']."<BR>";
      }
      mysql_close($connection);
    ?>
    il te suffit de remplacer :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
      $REFC='sdsdsdsd';
      $IDOT='1';
      $mabasededonnee='querytest';
    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $REFC = $_POST['ref_client'];
    $IDOT= $_GET['IDot'];
    $mabasededonnee='le_nom_de_ta_base';
    et tout devrait rentrer dans l'ordre. Bon c'est du basique ce que je te donne mais ça marche. Evidemment il te faut aussi changer
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      $connection = mysql_connect('localhost','root','');
    par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
      $connection = mysql_connect('ton_host','ton_user','ton_mot_de_passe');
    voili

  10. #10
    Expert confirmé Avatar de Cybher
    Homme Profil pro
    Consultant réseaux et sécurité
    Inscrit en
    Mai 2005
    Messages
    3 281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations professionnelles :
    Activité : Consultant réseaux et sécurité
    Secteur : Conseil

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 281
    Par défaut
    c'est que tes variables ne contiennent pas ce qu"il devrait contenir

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

Discussions similaires

  1. récupération de données formulaire
    Par cretefre dans le forum Débuter
    Réponses: 7
    Dernier message: 20/03/2006, 15h25
  2. Récupération données formulaire en php5
    Par jcaspar dans le forum Langage
    Réponses: 1
    Dernier message: 08/03/2006, 20h45
  3. Recuperation de donne formulaire
    Par nestam dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 20/02/2006, 20h46
  4. Réponses: 2
    Dernier message: 04/01/2006, 21h33
  5. Liaison de données - formulaires
    Par Bikey dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 21/10/2004, 15h05

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