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 :

Mise à jour d'un enregistrement avec un formulaire HTML et PHP


Sujet :

PHP & Base de données

  1. #1
    Nouveau membre du Club
    Inscrit en
    Avril 2008
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 52
    Points : 27
    Points
    27
    Par défaut Mise à jour d'un enregistrement avec un formulaire HTML et PHP
    Bonjour, je souhaite faire une page html contenant la liste des personnes enregistrées à une FAQ, et dessous un formulaire ou l'admin entre le nom prenom identifiant... d'une personne enregistrée pour mettre à jour ses informations.

    J'ai donc le code suivant:

    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
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
     
    <?php
    require 'modele_adherent.php';
    require 'HTML/Table.php';
     
    session_start();
     
    if ($_POST['ajoutAdherent']) {  
      $data[] = $_POST['civilite'];
      $data[] = $_POST['nomPrenom'];
      $data[] = $_POST['identifiant'];
      $data[] = $_POST['email'];
      if (ajoutAdherent($data))
        echo "Ajout de l'adherent : OK <br>";
      else  
        echo "Ajout de l'adherent : echec <br>";
     } 
     
    if ($_GET['action'] == 'listeAdherents') {  
      $listeAdherents = listeAdherents();
      if ($listeAdherents) {
        echo "<br> La liste des adherents est : <br><br>";
        $tableListeAdherents = 
          new HTML_Table("frame=border cellpadding=1 cellspacing=2 width=300");
        $headerStyle = "bgcolor=white nowrap";
        $colHeaders = array("civilite", "nomPrenom", "identifiant","email");
        $tableListeAdherents->addRow($colHeaders, $headerStyle, "TH");
     
        while ($row = $listeAdherents->fetchrow(DB_FETCHMODE_ASSOC)) 
          $tableListeAdherents->addRow(array($row["CIVILITE"],$row["NOMPRENOM"],
    					 $row["IDENTIFIANT"],$row["EMAIL"]));
        echo $tableListeAdherents->toHtml();
      }
      else
        echo "<br> La liste des adherents est vide <br>";
     }
    echo "<p><a href=\"index.php?".SID."\">Retour a la page d'accueil</a></p>"; 
    ?>
     
    <html>
      <head>
      <meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
         <title>
        MAJ Adhérent
        </title>
      </head>
     <body>
      <h2>FAQ du departement informatique</h2>
      <h3>Formulaire de MAJ</h3>
      <br><br>
      <FORM name="MAJ" 
            action="ctrl_vue_adherent.php?<?php echo SID;?>" 
      method="POST">
      <TABLE frame=border>
    	<tr>
    		<th align="left"><input type="radio" name="civilite" value="Mm"> 
            <td>Madame</td>
    	<tr>
    		<th align="left"><input type="radio" name="civilite" value="Mr"> 
    		<td>Monsieur
     
     <TR align = left><TH> Nom Prenom 
             <TD> <INPUT type="text" name="nomPrenom">
      <TR align = left><TH> Identifiant 
             <TD> <INPUT type="text" name="identifiant"> <BR>
      <TR align = left><TH> Email 
             <TD> <INPUT type="text" name="email"><BR>
      <TR> <TD> <BR><BR><BR> 
      <TR align=center><TH> <TD> <INPUT type="submit" name="Maj_Adherent" value="Valider"> 
                                 <INPUT type="reset"  name="annuler"  value="Annuler">
      </TABLE>
      </FORM>
     </BODY>
    </HTML>

    Alors déjà, dans la partie php en haut, il y a juste "Retour a la page d'accueil" qui s'affiche. On ne voit pas la liste des adhérent, je comprends pas pourquoi.

    Ensuite, je voudrait savoir comment faire pour que les valeurs entrée par l'utilisateur dans le formulaire ( nomPrenom, identifiant...) soient accessibles dans la fonction qui fait l'UPDATE dans le SGBD
    Cette fonction est définie dans modele_adherent.php:


    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
     
    function Maj_Adherent($data, $identifiant){
      $dsn = $_SESSION["DSN"];
      $conn =& DB::connect($dsn);
      if (PEAR::isError($conn))
        print_r($conn->getMessage());
     
      $sth = $conn->prepare('UPDATE ADHERENT Ad SET Ad.civilite = ? AND Ad.nomPrenom = ? AND Ad.identifiant = ? AND Ad.email = ? WHERE Ad.identifiant = $identifiant');
     
      if (PEAR::isError($sth)) {
        print_r("ajoutAdherent 1 : ".$sth->getMessage());
        exit;
      }
      $conn->execute($sth, $data);
      if (PEAR::isError($affectedRows)) {
        print_r("ajoutAdherent 2 : ".$affectedRows->getMessage());
        exit;
      }
      $conn->disconnect();
      return 1;
    }
    Est ce que c'est possible de mettre par exemple "Ad.nomPrenom = $nomPrenom" dans la requête? Faut il le passer en paramètre dans la fonction?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    UPDATE ADHERENT Ad SET Ad.civilite = ? AND Ad.nomPrenom = ? AND Ad.identifiant = ? AND Ad.email = ? WHERE Ad.identifiant = $identifiant


    Merci

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    5
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Algérie

    Informations forums :
    Inscription : Mai 2003
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    pour ton update essaye
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sth = $conn->prepare("UPDATE ADHERENT Ad SET Ad.civilite ='".$civilite."' AND Ad.nomPrenom ='".$nomPrenom."' AND Ad.identifiant ='".$identifiant."' AND Ad.email ='".$email."' WHERE Ad.identifiant ='".$identifiant."' ");

  3. #3
    Nouveau membre du Club
    Inscrit en
    Avril 2008
    Messages
    52
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 52
    Points : 27
    Points
    27
    Par défaut
    D'accord j'essaierai ça.
    Sinon quelqu'un a une idée pour la liste qui ne s'affiche pas?

Discussions similaires

  1. Réponses: 7
    Dernier message: 04/07/2012, 23h54
  2. Mise à jour d'un enregistrement avec ADO
    Par muzele dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 05/11/2010, 21h12
  3. Réponses: 1
    Dernier message: 05/03/2009, 21h36
  4. Réponses: 0
    Dernier message: 19/02/2008, 11h35
  5. Réponses: 2
    Dernier message: 12/02/2003, 15h26

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