Modifier des informations

Bonjour,
Depuis quelque temps, j'essaye de modifier des informations dans une base de données en les affichant dans une zone de texte en PHP à partir d'une liste déroulante.

Mon code c'est un peu le brouillon car je suis parti d'une base trouvé sur internet.

Voici mon code :

<html>
 <head>
  <title>Base de donnees</title>
  <link rel="stylesheet" type="text/css" href="CSS.css" /> 
  <?php include("bouton_menu.php") ?>
  <?php include("Connexion.php") ?>
 </head>
 
 <body>

  <?php
   if(isset($_POST['liste1']))
   {
    $liste1=$_POST['liste1'];
   }else
   {
    $liste1=-1;
   }
  ?>
  <TABLE border=0 width=70% BGCOLOR=#FFFFFF>
   <TR align="center">
    <TD> Modification </TD>
   </TR>
  </TABLE>
  <BR><BR>
  
  <center>
   Sélectionnez un Nom :
   <form name="form1" method="post" action="">
    <select name="liste1" onchange=" form1.submit();">
     <option value=-1>-- Choisissez -- </option>
     <?php

      $requete = "SELECT id, nom, adresse, telephone FROM bdd";
      $execution_requete = mysql_query($requete);
      while($total = mysql_fetch_array($execution_requete))

      {
       echo "<option value=\"".$total["nom"]."\"";
       if($liste1==$total['nom']) { echo "selected"; }
       echo ">".$total['nom']."</option>\n";
      }

     ?>
    </select>
   </form>
  </center>
  <?php
   if($liste1 != -1)
   { 
    $requete = "SELECT id, nom, adresse, telephone FROM bdd WHERE nom='".$liste1."'";
    $execution_requete = mysql_query($requete);

    $total = mysql_fetch_array($execution_requete);
  ?>

    <br />
    </div>
    <div id="right_bas"></div>
    <div id="right_haut"></div>
    <div id="rightbk">
    <br />

    <TABLE border=0 bgcolor=#FFFFFF>
     <TR align=center>
      <TD> Informations</TD>
     </TR>
    </TABLE>

    <form method="post" action="">
     <center>
      <CAPTION> </CAPTION>
       <p>Nom :<br/>
       <input type="text" name="nom" value="<?php echo $total['nom'] ?>" size="20" >
       </p>        
       <p>Adresse :<br/>
       <input type="text" name="adresse" value="<?php echo $total['adresse'] ?>" size="20" >
       <p>Telephone :<br/>
       <input type="text" name="telephone" value="<?php echo $total['telephone'] ?>" size="20" >
       </p>
      <br><br>
      <input type="submit" name="modifier" value="Modifier">
      <input type="hidden" name="id" value="<?php echo $total['id'] ?>">
     </center>
    </form>
  <?php
   }

   if(isset($_POST['modifier']))
   {
    $id = $_POST["id"];
    $result = mysql_query("UPDATE FROM bdd SET nom = ".$total['nom'].", adresse = ".$total['adresse'].", telephone = ".$total['telephone']." WHERE id=".$id." LIMIT 1";
    
    if (!$result) {
     echo "La modification a échouée<br>";
    } else {
     echo "Agent modifié !<br>";
    }
   }
  ?>
  
 </body>
</html>

/////////////////////////////////////////////////////////////////////////////////////////

J'ai une erreur de syntaxe au moment ou je fais ma requête UPDATE et il se peut aussi que mon code pour soit pas totalement juste.

EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.

1 réponse

  1. Salut,

    Et quel est ce message d'erreur ?

    Bonne journée
    1. Salut Pitet, voici le message d'erreur : Parse error: syntax error, unexpected ';'

      Merci et bonne journée à toi aussi

      (Excusez-moi pour les balises j'y penserai pour les prochaines fois)
    2. Le numéro de ligne du message d'erreur est aussi important ;)

      Je suppose qu'il s'agit des premiers includes, il manque effectivement le point-virgule à la fin des instructions :
       <head>
        <title>Base de donnees</title>
        <link rel="stylesheet" type="text/css" href="CSS.css" /> 
        <?php 
        include("bouton_menu.php");
        include("Connexion.php");
        ?>
       </head>
      


      Au passage : si les fichiers php contiennent du rendu html (bouton_menu.php par exemple), il ne devraient pas être inclus dans la balise head mais dans la balise body.
    3. Ce n'est pas ça le problème, c'est lors de ma requête UPDATE, ligne 94.
      Le reste fonctionne parfaitement.

      Merci :)
    4. Tu as oublié la parenthèse fermante de la fonction mysql_query()
    5. Super ça a réglé une partie de mon problème du coup je n'ai plus l'erreur de syntaxe, d'ailleurs je ne sais pas comment j'ai pu ne pas m'en apercevoir, merci beaucoup Pitet.

      Par contre je n'arrive pas à modifier, est ce que tu verrais une erreur ?