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 :

Modification des enregistrements d'une table à partir d'un formulaire [Débutant(e)]


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Inscrit en
    Novembre 2006
    Messages
    304
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Novembre 2006
    Messages : 304
    Points : 77
    Points
    77
    Par défaut Modification des enregistrements d'une table à partir d'un formulaire
    Bonsoir, j suis bloqué, j'ai une table mysql et je vx la modifier a partir d'un formulaire rempli par l'utilisateur mais le problème c'est que l'utilisateur ne vas pas remplir tout les champs et je sais pas comment je vais affecter les nouvelles variables aux champs de la requete !
    voila mon formulaire :
    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
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
     
    <HTML><head><TITLE>Modifier Calendar !</TITLE></HEAD> 
    <BODY BGCOLOR=#333333>
       <form name="f" action="Modification.php" method="POST">
    <? include "Accueil_banner.php"; ?>
          <table width=760 height=40% cellspacing=0 cellpadding=0 border=0 bgcolor=#000000>
          <tr><td colspan=3><font color=#aa7c31 size=6 face="Monotype Corsiva" ><u><center>Cochez les données que vous voulez modifier ?</u></font></td></tr>
          <tr>  <td>$nbsp</td></tr>
          <tr>
               <td><font color=#aa7c31 size=5 face="Monotype Corsiva" ><center>Nom : </td>
               <td><input type=checkbox name=liste[] value="Nom" ></font></td>
                   <td><input type="text" size =40 name="val1" value=""></td></tr>
     
               <td><font color=#aa7c31 size=5 face="Monotype Corsiva" ><center>Prénom : </td>
               <td><input type=checkbox name=liste[] value="Prénom"></font></td>       
                   <td><input type="text" size =40 name="val2" value=""></td></tr>
               <td><font color=#aa7c31 size=5 face="Monotype Corsiva" ><center>Age : </td>
               <td><input type=checkbox name=liste[] value="Age"></font></td>       
                   <td><input type="text" size =40 name="val3" value=""></td></tr>
               <td><font color=#aa7c31 size=5 face="Monotype Corsiva" ><center>Date naissance : </td>
               <td><input type=checkbox name=liste[] value="Date_naissance"></font></td>       
                   <td><input type="text" size =40 name="val4" value=""></td></tr>
               <td><font color=#aa7c31 size=5 face="Monotype Corsiva" ><center>GSM* : </td>
               <td><input type=checkbox name=liste[] value="GSM"></font></td>       
                   <td><input type="text" size =40 name="val5" value=""></td></tr>
               <td><font color=#aa7c31 size=5 face="Monotype Corsiva" ><center>Adresse : </td>
               <td><input type=checkbox name=liste[] value="Adresse"></font></td>       
                   <td><input type="text" size =40 name="val6" value=""></td></tr>
               <td><font color=#aa7c31 size=5 face="Monotype Corsiva" ><center>Ville : </td>
               <td><input type=checkbox name=liste[] value="Ville"></font></td>       
                   <td><input type="text" size =40 name="val7" value=""></td></tr>
               <td><font color=#aa7c31 size=5 face="Monotype Corsiva" ><center>Profession : </td>
               <td><input type=checkbox name=liste[] value="Profession"></font></td>       
                   <td><input type="text" size =40 name="val8" value=""></td></tr>
               <td><font color=#aa7c31 size=5 face="Monotype Corsiva" ><center>Remarques : </td>
               <td><input type=checkbox name=liste[] value="Remarques"></font></td>       
                   <td><input type="text" size =40 name="val9" value=""></td></tr>
           <tr>
               <td COLSPAN=3 align=CENTER><input type="submit" value="Modifier"></td></tr>
        </table>
    <? include "dessus.php";?>
    </form>
    </body>
    </html>
    Vous avez une idée ?

  2. #2
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    1 - j'ai pas tout capté le problème là... il n'y a pas de traitement, tu n'as même pas le commencement ? Regarde du côté des requêtes avec UPDATE c'est ce qu'il te faut peut-être...

    2 - ça sert à rien de balancer tout le code comme ça brut de pomme

    3 - regarde du côté des CSS ça va te simplifier la vie pour les styles au lieu de faire du copi-collage partout...
    Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

    Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)

  3. #3
    Membre éprouvé
    Avatar de viviboss
    Profil pro
    Inscrit en
    Août 2006
    Messages
    943
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Août 2006
    Messages : 943
    Points : 1 248
    Points
    1 248
    Par défaut
    Déjà, tu devrais mettre des noms plus explicite dans tes formulaires, par exemple

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <input type="text" name="nom" value="Nom :"/>
    Ensuite, dans ton "modification.php", il faut que tu récupère les données de ton formulaire, ex :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $nom=$_POST['nom'];
    Ensuite, tu les récupères dans une requete SQL :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $sql="INSERT table VALUES ('".$nom."')";
    Et ensuite tu dois exécuter ta requête, etc....
    Veni Vidi Vici
    -------------------------
    Mes articles : developpez.com ou bien vbview.net
    -------------------------
    Et SURTOUT ne pas oublier la bible PHP : --> php_manual_fr.chm!!!
    Et aussi : --> pear_manual_fr.chm!!!

    Ou encore : --> Les tutoriaux & cours PHP de Développez.com
    -------------------------

  4. #4
    Membre régulier
    Inscrit en
    Novembre 2006
    Messages
    304
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Novembre 2006
    Messages : 304
    Points : 77
    Points
    77
    Par défaut Modification des enregistrements.........
    Merci pour la reponse, je sais ce que je vais faire dans le fichier modification mais le probleme c'est que je sais pas les champs qui seront remplie par l'utilisateur pour ma requete update

  5. #5
    Membre éprouvé
    Avatar de viviboss
    Profil pro
    Inscrit en
    Août 2006
    Messages
    943
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Août 2006
    Messages : 943
    Points : 1 248
    Points
    1 248
    Par défaut
    ?????????

    He bien, si tu ne sais pas ce que tu va mettre à jour, je ne vois pas ce qu'on peut faire !!!

    Il n'y a que toi qui puisse déterminer ces besoins-là, je veux dire : si tu fais un formulaire d'Update, c'est que tu sas quelles données tu veut changer ?!!?!!

    Sinon, ton formulaire sert à rien.....
    Veni Vidi Vici
    -------------------------
    Mes articles : developpez.com ou bien vbview.net
    -------------------------
    Et SURTOUT ne pas oublier la bible PHP : --> php_manual_fr.chm!!!
    Et aussi : --> pear_manual_fr.chm!!!

    Ou encore : --> Les tutoriaux & cours PHP de Développez.com
    -------------------------

  6. #6
    Membre régulier
    Inscrit en
    Novembre 2006
    Messages
    304
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Novembre 2006
    Messages : 304
    Points : 77
    Points
    77
    Par défaut Modification des enregistrements.........
    Vous m'avez pas compris, j'ai donné a l'utilisateur de cocher les champs qu'il veut modifier,cad ma table qui est deja rempli contient le nom,prenom,age; tel......... et un utilistaeur ne veut modifié que l'adresse par exemple par contre un autre ne veut modifier que le numero de telephone...........

  7. #7
    Membre expérimenté

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 278
    Points : 1 639
    Points
    1 639
    Par défaut
    La solution la plus simple à mon avis consiste à réafficher toutes les données. L'utilisateur modifie ce qu'il veut (sans cocher), et tu updates toutes les données sans te préoccuper de savoir celles qui ont été modifiées. C'est beaucoup plus simple, plus rapide, et plus ergonomique pour l'utilisateur.

  8. #8
    Membre éprouvé
    Avatar de viviboss
    Profil pro
    Inscrit en
    Août 2006
    Messages
    943
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Août 2006
    Messages : 943
    Points : 1 248
    Points
    1 248
    Par défaut
    Oui....Et ma foi, je crois que pas grand monde doit faire un Update "que" sur le champs approprié....

    Perso, je fais ca aussi, et j'ai jamais eu de pb....
    Veni Vidi Vici
    -------------------------
    Mes articles : developpez.com ou bien vbview.net
    -------------------------
    Et SURTOUT ne pas oublier la bible PHP : --> php_manual_fr.chm!!!
    Et aussi : --> pear_manual_fr.chm!!!

    Ou encore : --> Les tutoriaux & cours PHP de Développez.com
    -------------------------

  9. #9
    Membre régulier
    Inscrit en
    Novembre 2006
    Messages
    304
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Novembre 2006
    Messages : 304
    Points : 77
    Points
    77
    Par défaut Modification des enregistrements.........
    Ms c pas pratique imaginons une table avec 15 colonnes et l'utilsateur ne vt modifier qu'un champs

  10. #10
    Membre expérimenté

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 278
    Points : 1 639
    Points
    1 639
    Par défaut
    Tu affiches les 15 champs. L'user modifie ce qu'il veut. Tu updates le tout.
    Tant qu'on reste dans une limite raisonnable, c'est le plus simple et le plus rapide. A condition bien entendu que toutes les informations soient liées (fiche d'identité, abonnements, coordonnées...).

  11. #11
    Membre régulier
    Inscrit en
    Novembre 2006
    Messages
    304
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Novembre 2006
    Messages : 304
    Points : 77
    Points
    77
    Par défaut Modification des enregistrements.........
    mais si l'utilisateur remplie seulement quelques champs les autres resteront vides et bien sur si je vais update les champs qui non remplie vont contenir des valeurs nulles

  12. #12
    Membre expérimenté

    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    1 278
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Janvier 2005
    Messages : 1 278
    Points : 1 639
    Points
    1 639
    Par défaut
    Non, tu mets dans les champs par défaut les valeurs contenues dans la bdd.

  13. #13
    Membre régulier
    Inscrit en
    Novembre 2006
    Messages
    304
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Novembre 2006
    Messages : 304
    Points : 77
    Points
    77
    Par défaut Modification des enregistrements.........
    Oui merci, j'opté pour une solution qui est la suivante j'ai :
    2 liste l'une pour afficher les champs auquels on va affecter la nouvelle valeur
    la deuxieme pour mentionner le champs qu'on va mettre dans le where
    et deux zones de textes le prmier va contenir la nouvelle valeur qui va etre affecter a la premiere liste(champs) et la deuxieme pour mentionner la valeur de la deuxieme liste dans la condition where et bien sur la requete va ne va contenir que des variables.. Mais svp j'ai compris comment je vais mettre dans les champs les valeurs par défauts vous pouvez m'expliquer d'avantage si possible?

  14. #14
    Membre expert Avatar de Amara
    Profil pro
    Inscrit en
    Juillet 2004
    Messages
    2 688
    Détails du profil
    Informations personnelles :
    Localisation : France, Sarthe (Pays de la Loire)

    Informations forums :
    Inscription : Juillet 2004
    Messages : 2 688
    Points : 3 115
    Points
    3 115
    Par défaut
    1 - Tu charges dans ta page de modification les données de ton enregistrement à modifier

    2 - Tu affiches ces champs dans des zones modifiables

    3 - L'utilisateur fait ce qu'il veut, il modifie les champs qu'il souhaite changer et ne touche pas aux autres (vu qu'il veut les laisser identiques...)

    4 - il clique sur "mettre à jour" (le bouton pour soumettre ton formulaire)

    5 - dans le traitement tu fais un UPDATE de ton enregistrement avec TOUTES les données que tu récupères de ton formulaire

    6 - tout le monde est content

    Solution ergonomique et pas trop compliquée à mettre en oeuvre...
    Pas de questions techniques par MP, le forum est là pour ça et est plus efficace.

    Orthographe : une connexion (avec un x), un langage (sans u), une requête (un seul t), 'une quote' (avec qu), une syntaxe (sans h)

Discussions similaires

  1. Réponses: 1
    Dernier message: 12/11/2011, 18h07
  2. Réponses: 7
    Dernier message: 14/03/2009, 11h36
  3. Réponses: 2
    Dernier message: 29/10/2008, 15h31
  4. Réponses: 39
    Dernier message: 28/07/2006, 14h22
  5. Réponses: 2
    Dernier message: 15/06/2005, 17h32

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