Requête PDO pour modifier des données avec mon formulaire

Résolu
kpris_gene Messages postés 31 Date d'inscription lundi 25 avril 2016 Statut Membre Dernière intervention 21 octobre 2016 - Modifié le 3 mars 2021 à 22:16
 Manno - 3 mars 2021 à 19:51
Bonjour, je suis débutante en php et nouvelle sur le forum et j'aimerais que vous m'aidiez .Je suis a mon premier projet :celui de concevoir une application pour la gestion des courriers et rendez-vous pour une entreprise x et suis bloquer au niveau de la modification des données par un formulaire.En fait je voudrais sélectionner le id dans ma liste de rendez-vous et le mettre dans mon formulaire de modification et automatiquement les données des autres champs s'affichent et je modifie.si quelqu'un a quelque chose a me proposer je serai ravi de l'essayer
mais voici ou j'en suis avec mon code
<?php
 include("Connexion.php");
 
 ?>
 <?php
 include("Acceuil.php");
 ?>


<html>
</head><link rel="stylesheet" media="screen" type="text/css" href="monstyle.css"><title>modifier Rdv</title></head>
<body>
  

<form id="form1" name="form1" method="POST" action="rendez_vous.php">

<FIELDSET>
<LEGEND align='top'><h1><fieldset>MODIFIER UN RENDEZ-VOUS </fieldset></h1></LEGEND>
  <table width="420" border="0">
   
    <tr>
      <td>Numero</td>
      <td><label>
        <input name="id_rdv" type="text" id="id_rdv" />
      </label></td>
    </tr>
    <tr>
      <td>Objet</td>
      <td><label>
        <input name="Objet_rdv" type="text" id="Objet_rdv" />
      </label></td>
    </tr>
    <tr>
 <td>Lieu</td>
      <td><label>
        <input name="Lieu_rdv" type="text" id="Lieu_rdv" />
      </label></td>
    </tr>
    <tr>
 
      <td>Debut</td>
      <td><input name="Debut_rdv" type="text" id="Debut_rdv" /></td>
    </tr>
 <tr>
      <td>Fin</td>
      <td><input name="Fin_rdv" type="text" id="Fin_rdv" /></td>
    </tr>
    <tr>
      <td><label>
   <div class=monBouton>
     <input name="Modifier" type="submit" class="ajouter" value="Modifier"onclick='document.form1.action="modifier.php?fichier=0";document.form1.submit();'/>
  <input name="Annuler" type="reset" class="Annuler" value="Annuler"onclick='document.form1.action="annuler.php?fichier=0";document.form1.submit();'/>
      </tr> 
 </div>  
      </label></td>
    </tr>
 </table>
  </FIELDSET>
 
</form>
</body>
<html>
<?php
error_reporting(E_ALL); 
 $id_rdv=(isset($_POST["id_rdv"])) ? $_POST["id_rdv"] : "";
$stmt = $db->prepare("SELECT *
            FROM rendez_vous
     WHERE id_rdv = .$id_rdv ");

// On affiche chaque entrée une à une
while ($donnees = $stmt->fetch())
{
  $stmt->bindparam(':id_rdv',$id_rdv);
    $stmt->bindparam(':Objet_rdv',$Objet_rdv);
    $stmt->bindparam(':Lieu_rdv',$Lieu_rdv);
    $stmt->bindparam(':Debut_rdv',$Debut_rdv);
    $stmt->bindparam(':Fin_rdv',$Fin_rdv);
   
 $stmt->execute();
?>


<?PHP 
 error_reporting(E_ALL); 
 
        $id_rdv=(isset($_POST["id_rdv"])) ? $_POST["id_rdv"] : "";
        $Objet_rdv=(isset($_POST["Objet_rdv"])) ? $_POST["Objet_rdv"] : "";
        $Lieu_rdv =(isset($_POST["Lieu_rdv"])) ? $_POST["Lieu_rdv"] : "";
        $Debut_rdv =(isset($_POST["Debut_rdv"])) ? $_POST["Debut_rdv"] : "";
        $Fin_rdv =(isset($_POST["Fin_rdv"])) ? $_POST["Fin_rdv"] : "";
         
  
  
 $stmt = $db->prepare('UPDATE rendez_vous SET

Objet_rdv=:Objet_rdv,
Lieu_rdv=:Lieu_rdv,
Debut_rdv=:Debut_rdv,
Fin_rdv=:Fin_rdv  WHERE id_rdv = :id_rdv');
 
    $stmt->bindparam(':id_rdv',$id_rdv);
    $stmt->bindparam(':Objet_rdv',$Objet_rdv);
    $stmt->bindparam(':Lieu_rdv',$Lieu_rdv);
    $stmt->bindparam(':Debut_rdv',$Debut_rdv);
    $stmt->bindparam(':Fin_rdv',$Fin_rdv);
   
   
  
$retour = $stmt->execute();


if( $retour === false) {
$err = $stmt->errorInfo();
throw new Exception('Erreur mise a jour rendez_vous : '.$err[2]);
}};
 
?>
 
A voir également:

7 réponses

jordane45 Messages postés 36372 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 2 octobre 2022 350
Modifié par jordane45 le 25/04/2016 à 20:44
Bonjour,

Quelques erreurs dans ton script ...
De plus... essayes de mettre le maximum de php AVANT le html.

Essayes ça :
<?php
/**
* Page : rendez_vous.php
*/

//--------------------------------------------------------//
//Affichage des erreurs PHP : A mettre AU DEBUT de tes pages !
//--------------------------------------------------------//
error_reporting(E_ALL);
 
//--------------------------------------------------------//
// Connexion à la BDD
//--------------------------------------------------------//
require_once("Connexion.php");


//--------------------------------------------------------//
//récupération "porpre" des variables
//--------------------------------------------------------//
   $id_rdv = isset($_POST["id_rdv"]) ? $_POST["id_rdv"] : "";
$Objet_rdv = isset($_POST["Objet_rdv"]) ? $_POST["Objet_rdv"] : "";
 $Lieu_rdv = isset($_POST["Lieu_rdv"]) ? $_POST["Lieu_rdv"] : "";
$Debut_rdv = isset($_POST["Debut_rdv"]) ? $_POST["Debut_rdv"] : "";
  $Fin_rdv = isset($_POST["Fin_rdv"]) ? $_POST["Fin_rdv"] : "";

//--------------------------------------------------------//
//traitement du Submit
//--------------------------------------------------------//
if(isset($_POST['Modifier']){
 if($id_rdv){
  $sql = "UPDATE rendez_vous 
       SET Objet_rdv=:Objet_rdv,
         Lieu_rdv=:Lieu_rdv,
         Debut_rdv=:Debut_rdv,
         Fin_rdv=:Fin_rdv  
      WHERE id_rdv = :id_rdv";
  
  try{
   $stmt = $db->prepare($sql);
   $stmt->bindparam(':id_rdv',$id_rdv);
   $stmt->bindparam(':Objet_rdv',$Objet_rdv);
   $stmt->bindparam(':Lieu_rdv',$Lieu_rdv);
   $stmt->bindparam(':Debut_rdv',$Debut_rdv);
   $stmt->bindparam(':Fin_rdv',$Fin_rdv);
   
  $retour = $stmt->execute();
  }catch(Exception $e){
   echo "Erreur ! " .$e->getMessage();
  }
 }
}


//--------------------------------------------------------//
//Récupération des infromations du RDV si elles existent
//--------------------------------------------------------//
if($id_rdv){
 $sql = "SELECT *
     FROM rendez_vous
     WHERE id_rdv = :id_rdv ";

 $a_datas = ":id_rdv"=>$id_rdv);   
 try{ 
   $stmt = $db->prepare($sql);
   $retour = $stmt->execute();
   $result = $stmt->fetchAll() //on stocke les resultats dans un array
  $array_result = $result[0];
   
 }catch(Exception $e){
  echo "Erreur ! " .$e->getMessage();
 } 
}
 ?>

<html>
<head>
 <link rel="stylesheet" media="screen" type="text/css" href="monstyle.css">
 <title>modifier Rdv</title>
</head>
<body>

 <?php 
 include("Acceuil.php"); 
 ?>

 <form id="form1" name="form1" method="POST" action="">

 <FIELDSET>
  <LEGEND align='top'><h1><fieldset>MODIFIER UN RENDEZ-VOUS </fieldset></h1></LEGEND>
   <table width="420" border="0">
    
    <tr>
     <td>Numero</td>
     <td><label>
      <input name="id_rdv" type="text" id="id_rdv"  value="<?php echo $id_rdv;?>"/>
     </label></td>
    </tr>
    <tr>
     <td>Objet</td>
     <td><label>
      <input name="Objet_rdv" type="text" id="Objet_rdv" value="<?php echo isset($array_result['Objet_rdv']) ? $array_result['Objet_rdv'] : '';?>"/>
     </label></td>
    </tr>
    <tr>
   <td>Lieu</td>
     <td><label>
      <input name="Lieu_rdv" type="text" id="Lieu_rdv" value="<?php echo isset($array_result['Lieu_rdv']) ? $array_result['Lieu_rdv'] : '';?>" />
     </label></td>
    </tr>
    <tr>
   
     <td>Debut</td>
     <td><input name="Debut_rdv" type="text" id="Debut_rdv" /></td>
     </tr>
     <tr>
     <td>Fin</td>
     <td><input name="Fin_rdv" type="text" id="Fin_rdv" /></td>
    </tr>
    <tr>
     <td>
      <div class=monBouton>
       <input name="Modifier" type="submit" class="ajouter" value="Modifier" />
       <input name="Annuler" type="reset" class="Annuler" value="Annuler" onclick='document.form1.action="annuler.php?fichier=0";document.form1.submit();'/>
      </div>  
     </td>
    </tr>
   </table>
  </FIELDSET>
  
 </form>
</body>
<html>



NB: Je te laisse compléter au besoin.



Cordialement, 
Jordane                                                                 
0