Partage
  • Partager sur Facebook
  • Partager sur Twitter

modification d'une base de données par un formulaire

Sujet résolu
    20 mai 2011 à 15:48:04

    bonjour,
    je suis en stage en entreprise dans le cadre de ma formation pour mon BTS IG.

    j'aimerais savoir comment modifier une base de données grâce à un formulaire.
    En fait je voudrais pouvoir récupérer les données de ma base de données et les afficher dans les zones de texte du formulaire

    merci d'avance pour votre aide :)
    • Partager sur Facebook
    • Partager sur Twitter
      20 mai 2011 à 15:55:16

      merci Taguan mais j'ai regardé le cours déjà !!
      mon soucis c'est que j'ai réussi a représenter ma base sous forme de tableau et dans une dernière colonne j'ai inséré un lien "modifier" et je voudrais qu'en cliquant dessus, accéder a mon formulaire de modification qui contiendrait les informations de ma base
      • Partager sur Facebook
      • Partager sur Twitter
        20 mai 2011 à 15:56:15

        Ben tu sélectionnes ce que tu veux dans la base de données, et tu les mets dans l'attribut value des champ de ton formulaire.
        • Partager sur Facebook
        • Partager sur Twitter
          20 mai 2011 à 16:01:34

          ok !
          c'est justement ici que je bloque.
          ma base s'affiche comme suit :
          <?php
          mysql_connect("localhost", "root", "");
          mysql_select_db("nom-de-la-base");

          $reponses = mysql_query("SELECT * FROM fournisseurs");
          while ($donnees = mysql_fetch_array($reponses))
          {
          ?>
          <?
          $id = $donnees['Raison_sociale'];
          ?>
          <tr>
          <td><?php echo $donnees['Nom']; ?></td>
          <td><?php echo $donnees['Raison_sociale']; ?></td>
          <td><?php echo $donnees['Adresse']; ?></td>
          <td><?php echo $donnees['Code_postale']; ?></td>
          <td><?php echo $donnees['Commune']; ?></td>
          <td><?php echo $donnees['Pays']; ?></td>
          <td><?php echo $donnees['Telephone']; ?></td>
          <td><?php echo $donnees['Fax']; ?></td>
          <td><?php echo $donnees['Email']; ?></td>
          <td><?php echo $donnees['Site_internet']; ?></td>
          <td><? echo <br/><a href= modification_fournisseur.html?id= <? echo $donnees['Raison_sociale'];?>> modifier</a>



          </tr>
          <?php
          } //fin de la boucle while
          ?>
          </table>

          et j'ai essayer de récupérer les valeurs des champs comme ça :

          <td>nom</td>
          <td><input type="text" name="nom" value = echo $_POST['nom']></td>
          </tr>

          mais ça ne marche pas
          • Partager sur Facebook
          • Partager sur Twitter
            20 mai 2011 à 16:02:43

            Mais non.

            <a href= modification_fournisseur.html?id= <? echo $donnees['Raison_sociale'];?>> modifier</a>

            Tu récupères $_GET['id'] et tu fais une requete SQL à partir de ta raison sociale pour récupérer les infos.
            • Partager sur Facebook
            • Partager sur Twitter
              20 mai 2011 à 16:03:39

              ok merci Taguan je m'y mets tout de suite :)
              • Partager sur Facebook
              • Partager sur Twitter
                20 mai 2011 à 16:09:44

                Ne répond pas pour dire ça. Après tu peux plus répondre pendant 24h et si t'as pas réussi, tu vas polluer ma boite à MP ("oui mais y a l'anti-flood blablabla").

                Voilà, maitenant tu pourras répondre...
                • Partager sur Facebook
                • Partager sur Twitter
                  20 mai 2011 à 16:13:00

                  heu une question...
                  dans le lien que je veux créer est-ce que je dois voir la valeur de "raison sociale" dans l'URL ?
                  • Partager sur Facebook
                  • Partager sur Twitter
                    20 mai 2011 à 16:20:16

                    ben quand on passe un paramètre dans l'url on met par exemple :

                    page.php?param1=valeur

                    mais "valeur" doit prendre une valeur que l'on a nous même définit ou bien on peut insérer une variable ? parce que pour mon lien je n'ai aucune valeur après le "=" ...

                    http://localhost:8888/sodedom/modifica [...] seur.html?id=
                    • Partager sur Facebook
                    • Partager sur Twitter
                      20 mai 2011 à 16:23:28

                      A oui, c'est parce que tu le fais pas bien

                      <td><? echo <br/><a href= modification_fournisseur.html?id= <? echo $donnees['Raison_sociale'];?>> modifier</a>

                      devient

                      <td><br/><a href= modification_fournisseur.html?id=<?php echo $donnees['Raison_sociale']; ?>>modifier</a></td>
                      • Partager sur Facebook
                      • Partager sur Twitter
                        20 mai 2011 à 17:15:59

                        ça marche pour mon URL cependant j'ai effectué la requête pour avoir le reste des valeurs des champs mais j'ai une erreur dont je en comprend pas la signification.

                        voici la requête :

                        $rs = $_GET['id'];
                        $reponse = $bdd->query("SELECT * FROM fournisseurs WHERE Raison sociale = '%$rs%'");
                        while ($donnees = $reponse->fetch())

                        et j'ai cette erreur :

                        query("SELECT * FROM fournisseurs WHERE Raison sociale = '%$rs%'"); while ($donnees = $reponse->fetch()) { ?>
                        • Partager sur Facebook
                        • Partager sur Twitter
                          20 mai 2011 à 17:23:35

                          N'utilise pas <? mais toujours <?php
                          • Partager sur Facebook
                          • Partager sur Twitter
                            20 mai 2011 à 17:28:43

                            j'ai corrigé mais je n'ai aucun changement...
                            l'insertion de variable dans une requête SQL se fait bien comme suit :

                            ("SELECT * FROM table WHERE champs = '%$variable%'"); ???
                            • Partager sur Facebook
                            • Partager sur Twitter
                              20 mai 2011 à 17:30:09

                              Wai c'est bon.

                              Montre ton code complet
                              • Partager sur Facebook
                              • Partager sur Twitter
                                20 mai 2011 à 17:33:25

                                <?php 
                                
                                mysql_connect("localhost", "root", "");
                                mysql_select_db("sodedom");
                                $rs = $_GET['id'];
                                $reponse = $bdd->query("SELECT * FROM fournisseurs WHERE Raison sociale = '%$rs%'"); 
                                while ($donnees = $reponse->fetch())
                                {
                                ?>
                                <?php
                                $nom = $donnes['Nom'];
                                $rs = $donnees['Raison_sociale'];
                                $adresse = $donnees['Adresse'];
                                $cp = $donnees['Code_postale']; 
                                $ville = $donnees['Commune']; 
                                $pays = $donnees['Pays']; 
                                $tel = $donnees['Telephone']; 
                                $fax = $donnees['Fax']; 
                                $mail = $donnees['Email']; 
                                $site = $donnees['Site_internet'];
                                ?>
                                
                                <form name="modification" action="affichage fournisseur.php" method="POST">
                                  <table border="0" align="center" cellspacing="2" cellpadding="2">
                                    <tr align="center">
                                	
                                      <td>nom</td>
                                      <td><input type="text" name="nom" value =".$nom."></td>
                                    </tr>
                                    <tr align="center">
                                      <td>raison sociale</td>
                                      <td><input type="text" name="rs" ></td>
                                    </tr>
                                    <tr align="center">
                                      <td>adresse</td>
                                      <td><input type="text" name="adresse"></td>
                                    </tr>
                                    <tr align="center">
                                      <td>code postale</td>
                                      <td><input type="text" name="code_postale"></td>
                                    </tr>
                                  </table>
                                  <?php
                                  } //fin de la boucle while
                                  ?>
                                


                                je veux pouvoir mettre les valeurs des champs dans les zones de texte
                                • Partager sur Facebook
                                • Partager sur Twitter
                                  20 mai 2011 à 17:35:52

                                  edite ton message et mets des balises de code autour de ton code (bouton </>, choisis PHP)
                                  • Partager sur Facebook
                                  • Partager sur Twitter
                                    20 mai 2011 à 17:42:22

                                    j'ai déjà essayé de plusieurs façons de mettre une variable en valeur pour ma zone de texte mais ça ne marche pas...
                                    • Partager sur Facebook
                                    • Partager sur Twitter
                                      20 mai 2011 à 17:45:49

                                      WHERE Raison sociale = '%$rs%'" ?????????

                                      1/ le nom de ta colonne a vraiment un espace ?? Si oui, enlève parce que ça va juste te causer des problème. Pas d'accents, pas d'espaces, uniquement des letters, des chiffers et des _

                                      2/ Pourquoi ces % ?? Déjà tu utilises = et pas LIKE donc tu risques pas de trouver, ensuite t'as récupéré ça de la BDD sur la page précédente, donc tu es sûr de ta donnée, donc enlève ces % (et laisse le =)


                                      <input type="text" name="nom" value =".$nom.">

                                      3/ Heu, du PHP dans du HTML ?? Aucune chance que ça marche !
                                      • Partager sur Facebook
                                      • Partager sur Twitter
                                        20 mai 2011 à 18:10:17

                                        ah... ok dans ce cas là je dois créer 2 pages alors ? une pour récupérer les info et une autre pour le formulaire ?
                                        • Partager sur Facebook
                                        • Partager sur Twitter
                                          20 mai 2011 à 18:10:58

                                          Heu... non, tu dois passer du php à l'HTML avec aisance, et surtout avec les balises <?php ?>
                                          • Partager sur Facebook
                                          • Partager sur Twitter

                                          modification d'une base de données par un formulaire

                                          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                          • Editeur
                                          • Markdown