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 dans page formulaire [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre éclairé
    Avatar de Freedolphin
    Homme Profil pro
    Webmaster
    Inscrit en
    Février 2006
    Messages
    291
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Février 2006
    Messages : 291
    Par défaut Update dans page formulaire
    Bonjour,

    Pour éviter les fichiers inutiles, j'aimerais mettre une requête update dans la page d'un formulaire de modification de table.
    Ca marche dans le cas d'un insert, mais pas d'un update.
    J'ai dû faire une erreur quelque part mais je ne vois pas où.
    Si quelqu'un pouvait m'éclairer...

    Voici le code du formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
    <?php 
    require "ficher-de-config";
     
    MYSQL_CONNECT("$host","$user","$pass") or die("Impossible de se connecter");
    @mysql_select_db("$bdd") or die("Base de données non sélectionnée.");
     
    echo "Date : <INPUT TYPE=text NAME=date SIZE=40 MAXLENGTH=200>";
    echo "Titre : <INPUT TYPE=text NAME=titre SIZE=40 MAXLENGTH=200>";
    echo "<INPUT TYPE=submit VALUE='Mettre en ligne'>";
    ?>
    </form>
    Et quelques lignes plus bas, l'update :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <?php
    // si formulaire envoyé
    if(isset($_POST['titre']))
    {
    $update = mysql_query("UPDATE table SET date='$date',titre='$titre' WHERE id='$id'");
    echo "Champs modifiés avec succès";
    }
    ?>
    Merci d'avance !

  2. #2
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 057
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 057
    Par défaut
    Bonjour,

    Quelle est l'erreur qui est retournée ?
    Quel est le format de chacun des champs ?
    Sinon, table et date étant des mots réservés dans MySQL, c'est très risquer de nommer des tables ou des champs avec ces mots .

    ced
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  3. #3
    Membre éclairé
    Avatar de Freedolphin
    Homme Profil pro
    Webmaster
    Inscrit en
    Février 2006
    Messages
    291
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Février 2006
    Messages : 291
    Par défaut
    En fait, il n'y a pas d'erreur, le message s'affiche bien (Champs modifiés avec succès) mais le formulaire se réinitialise avec les anciennes données et les champs n'ont pas été modifiés.
    Les noms table et champs sont juste à titre informatif, ils ont leur propre nom dans la bdd comme dans les requêtes. Les champs sont en format TEXT.

  4. #4
    ced
    ced est déconnecté
    Rédacteur/Modérateur

    Avatar de ced
    Homme Profil pro
    Gestion de bases de données techniques
    Inscrit en
    Avril 2002
    Messages
    6 057
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Gestion de bases de données techniques
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Avril 2002
    Messages : 6 057
    Par défaut
    Essaie en faisant un echo de ta requête, en la copiant et en la collant directement dans MySQL...

    ced
    Rédacteur / Modérateur SGBD et R
    Mes tutoriels et la FAQ MySQL

    ----------------------------------------------------
    Pensez aux balises code et au tag
    Une réponse vous a plu ? N'hésitez pas à y mettre un
    Je ne réponds pas aux questions techniques par message privé, les forums sont là pour ça

  5. #5
    Membre éclairé
    Avatar de Freedolphin
    Homme Profil pro
    Webmaster
    Inscrit en
    Février 2006
    Messages
    291
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Février 2006
    Messages : 291
    Par défaut
    La requête fonctionne très bien lorsqu'elle est placée dans une autre page, appelée par l'action du formulaire.
    Je pense donc que c'est l'action dans la même page qui pose problème, mais je ne vois pas lequel ?

  6. #6
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
    // si formulaire envoyé
    IF(isset($_POST['titre']))
    {
     
      $update = mysql_query("UPDATE table SET date='$_POST[date]',titre='$_POST[titre]' WHERE id='$id'");
     
      if ( $update)
        echo "Champs modifiés avec succès";
    }
    ?>
    dans un premier temps , dans un deuxième temps d'où vient $id ?
    dans un troisième temps : tu as un message d'erreur , un comportement particulier , quelques infos supplémentaires ?
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  7. #7
    Membre éclairé
    Avatar de Freedolphin
    Homme Profil pro
    Webmaster
    Inscrit en
    Février 2006
    Messages
    291
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Février 2006
    Messages : 291
    Par défaut
    La variable $id est contenu dans un hidden du formulaire.
    Mais ça marche nickel avec ton code !
    Merci beaucoup !

  8. #8
    Rédacteur
    Avatar de RideKick
    Homme Profil pro
    Directeur technique
    Inscrit en
    Septembre 2006
    Messages
    5 914
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Directeur technique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Septembre 2006
    Messages : 5 914
    Par défaut
    DAns ce cas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
    // si formulaire envoyé
    IF(isset($_POST['titre']))
    {
     
      $update = mysql_query("UPDATE table SET date='$_POST[date]',titre='$_POST[titre]' WHERE id='$_POST[$id]'");
     
      if ( $update)
        echo "Champs modifiés avec succès";
    }
    ?>
    Pas de questions techniques en MP please

    Mon site perso

    Mon profil Viadeo

  9. #9
    Membre éclairé
    Avatar de Freedolphin
    Homme Profil pro
    Webmaster
    Inscrit en
    Février 2006
    Messages
    291
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Webmaster
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Février 2006
    Messages : 291
    Par défaut
    Ce sera en effet plus propre...
    Merci encore !

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

Discussions similaires

  1. [AC-2000] Pb update dans un formulaire
    Par Ugolau dans le forum VBA Access
    Réponses: 4
    Dernier message: 21/08/2013, 00h16
  2. Redirection d'un page apres choix dans le formulaire
    Par FracMaster dans le forum Langage
    Réponses: 7
    Dernier message: 26/04/2007, 16h40
  3. Aller a la page x dans un formulaire
    Par lecknaat dans le forum IHM
    Réponses: 1
    Dernier message: 06/03/2007, 22h07
  4. Réponses: 5
    Dernier message: 28/01/2007, 13h50
  5. Recordset not updatable dans une requete ou dans un formulaire
    Par debdev dans le forum Requêtes et SQL.
    Réponses: 3
    Dernier message: 19/07/2006, 12h45

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