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 :

Update avec une variable [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
    Février 2009
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 145
    Par défaut Update avec une variable
    Bonjour a tous,

    j'ai un script qui dans une moitié de page me renvoi des données de ma table 'reclam' et dans l'autre moitié qui est formulaire avec un renvoi de données complémentaire sur sur cette meme table

    Malheureusement meme si tout semble bien se passer, rien ne s'inscrit dans ma bdd

    Si je met en dur mon "ID" tout fonctionne mais si j'utilise une variable ID dans ma requete rien ne s'inscrit dans ma BDD

    J'ai fait un var_dump qui me donne : array(1) { ["ID"]=> string(2) "26" }

    ce qui correspond bien a ma valeur.

    Ce qui fait que je suis perdu face a cela, pouvez vous m'aider svp ?

    Mon code :
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    !--Recupération des variables -->
    <?php
     
    //recup des variables
    $traitement=$_POST['traitement'];
    $action=$_POST['action'];
    $final=$_POST['final'];
    $motif=$_POST['motif'];
    $delais=$_POST['delais'];
    $ID=$_POST['ID'];
     
     
    // Fin de Recupération des variables
    //---------------------------------------------------------------------------------------------------------------------
     
    //Connection Mysql
     
     
        //Connexion à la base.
        mysql_connect("*****","*****","******")or die("Problème avec la base de données");
        mysql_select_db("*******")or die ("pas de connection");
     
    //Requête
    if ((!empty($traitement)) and (!empty($action)))
    {
     
        //Vide la table 'nom_de_la_table'
        mysql_query("UPDATE reclam SET traitement='".$traitement."', action='".$action."',final='".$final."',motif='".$motif."',delais='".$delais."' WHERE `id`='".$ID."'") or die ("Désolé, il y a eu un problème dans la transmission des données");
        echo '<font face="tahoma" color="red">Fin d\'execution !</font>';
        echo "<meta http-equiv='refresh' content='0';URL=".$_SERVER['PHP_SELF'].".php?refresh=0'>";
    }
    ?>
    Merci d'avance pour votre aide
    Amicalement

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Déjà il faut echapper les valeurs :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    //recup des variables
    $traitement= mysql_real_escape_string($_POST['traitement';
    $action= mysql_real_escape_string($_POST['action']);
    $final = mysql_real_escape_string($_POST['final']);
    $motif = mysql_real_escape_string($_POST['motif']);
    $delais= mysql_real_escape_string($_POST['delais']);
    $ID= intval($_POST['ID']);
    Ensuite pour debuguer :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $sql = "UPDATE reclam SET traitement='".$traitement."', action='".$action."',final='".$final."',motif='".$motif."',delais='".$delais."' WHERE `id`=".$ID);
    echo $sql;
     
    mysql_query($sql);
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 145
    Par défaut
    Bonjour et merci pour ton aide

    Avec la commande de debuggage suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $rq= "UPDATE reclam SET traitement='".$traitement."', action='".$action."',final='".$final."',motif='".$motif."',delais='".$delais."' WHERE `id`='".$ID."'";
    echo $rq;
    j'ai ce resultat :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UPDATE reclam SET traitement='Action corrective', action='fsfdes',final='Action réalisée satisfaisante',motif='sezer',delais='erzr' WHERE `ID`=''
    Avec cette autre commande de debuggage :
    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
    //Requête
    if ((!empty($traitement)) and (!empty($action)))
    {
     
        //Vide la table 'nom_de_la_table'
      /*test 0*/
       echo "test 0 -variable dans post - :".$_POST['ID']."<br />";
       echo "test 0bis -variable assignée- :".$ID."<br />";
       /*test 1*/
       $rq="UPDATE reclam SET traitement='".$traitement."', action='".$action."',final='".$final."',motif='".$motif."',delais='".$delais."' WHERE `id`='".$ID."'";
       echo "test 1 -tel quel- :".$rq."<br />";
       /*test 2*/
       $ID=2;
     $rq="UPDATE reclam SET traitement='".$traitement."', action='".$action."',final='".$final."',motif='".$motif."',delais='".$delais."' WHERE `id`='".$ID."'";
       echo "test 2 -variable forcée- :".$rq."<br />";
      /*test 3*/
      $rq="UPDATE reclam SET traitement='".$traitement."', action='".$action."',final='".$final."',motif='".$motif."',delais='".$delais."' WHERE `id`='2'";
       echo "test 3 -id forcée dans la requête- :".$rq."<br />";
    j'ai cette reponse :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    test 0 -variable dans post - :
    test 0bis -variable assignée- :
    test 1 -tel quel- :UPDATE reclam SET traitement='Action préventive', action='bidule',final='Action réalisée satisfaisante',motif='machin',delais='15 jours 15 jours' WHERE `id`=''
    test 2 -variable forcée- :UPDATE reclam SET traitement='Action préventive', action='bidule',final='Action réalisée satisfaisante',motif='machin',delais='15 jours 15 jours' WHERE `id`='2'
    test 3 -id forcée dans la requête- :UPDATE reclam SET traitement='Action préventive', action='bidule',final='Action réalisée satisfaisante',motif='machin',delais='15 jours 15 jours' WHERE `id`='2'
    et chose toujours suprenante, si je fais un
    avant ma requete, ca me donne bien la bonne valeur

    Merci de votre aide

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    avant ma requete, ca me donne bien la bonne valeur
    Où avant ?
    Parce que dans ton debug tu fais un echo $ID avant la requête et il est vide.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Février 2009
    Messages
    145
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2009
    Messages : 145
    Par défaut
    je le fais avant la requete, et il est plein. Juste après la recupération des variables
    c'st au moment de la requete qu'il devient vide

    si veux juste avant ma requete j'ai cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    !--Recupération des variables -->
    <?php
     
    //recup des variables
    $traitement=$_POST['traitement'];
    $action=$_POST['action'];
    $final=$_POST['final'];
    $motif=$_POST['motif'];
    $delais=$_POST['delais'];
    $ID=$_POST['ID'];
    echo $ID;
    J'ai l'impression que ma variable $ID est accéssible dans la première partie de mon script qui affiche des valeurs récupérées dans la meme table mais est incapable de rester lorsque je vais rechercher dans cette meme table sur la meme page.

  6. #6
    Membre chevronné
    Inscrit en
    Mai 2008
    Messages
    350
    Détails du profil
    Informations forums :
    Inscription : Mai 2008
    Messages : 350
    Par défaut
    Il y a quoi comme code entre les 2 ?

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 30/11/2009, 11h14
  2. Réponses: 2
    Dernier message: 14/05/2004, 14h32
  3. UPDATE avec des variables Delphi ...
    Par Kokito dans le forum Bases de données
    Réponses: 3
    Dernier message: 08/03/2004, 22h35
  4. Comparaison d'un registre 8 bits avec une variable 32 bits
    Par tupperware dans le forum x86 32-bits / 64-bits
    Réponses: 3
    Dernier message: 15/10/2002, 10h25
  5. Désigner une variable avec une variable?
    Par littleman dans le forum Paradox
    Réponses: 4
    Dernier message: 12/08/2002, 11h21

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