PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 01-03-2013 11:15:27

elabadiabdelmoula
Membre
Inscription : 21-01-2013
Messages : 12

corriger erreur php: modification de base données

salam tout le monde:

brabi svp j'ai un problem:

j'ai crée une base données contenant table "cr". j'ai hébergé mon site & ça fonctionne bien...
je veux par PHP modifier le contenu de la table "cr"

alors voici les 3 pages php que j'ai crée:

crmodification.php :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "[url]http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd[/url]">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>crmodification3</title>
</head>

<body>
<?php
// Indique le bon format des entêtes (par défaut apache risque de les envoyer au standard ISO-8859-1)
header('Content-type: text/html; charset=UTF-8');
  //connection au serveur:
    $cnx = mysql_connect( "host", "user", "xxx" ) ;
    //sélection de la base de données:
    $db = mysql_select_db( "AAAAA" ) ;
           // Indique à mySql de travailler en UTF-8 (par défaut mySql risque de travailler au standard ISO-8859-1)
         mysql_query("SET NAMES 'utf8'");
//requête SQL:
    $sql = "SELECT *
          FROM cr
          ORDER BY no"
;
 
    //exécution de la requête:
    $requete = mysql_query( $sql, $cnx ) ;
 
    //affichage des données:
    while( $result = mysql_fetch_object( $requete ) )
    {
       echo(
           "<div align=\"center\">"
           .$result->no." ".$result->nom." ".$result->cin."<a href=\"crmodification2.php?idPersonne=".$result->no."\">modifier</a></div>\n"
       ) ;
    }
  ?>
</body>
</html>

puis page2: crmodification2.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "[url]http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd[/url]">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>crmodification3</title>
</head>

<body>
<?php
// Indique le bon format des entêtes (par défaut apache risque de les envoyer au standard ISO-8859-1)
header('Content-type: text/html; charset=UTF-8');
  //connection au serveur:
    $cnx = mysql_connect( "host", "user", "xxx" ) ;
    //sélection de la base de données:
    $db = mysql_select_db( "AAAAA" ) ;
       // Indique à mySql de travailler en UTF-8 (par défaut mySql risque de travailler au standard ISO-8859-1)
         mysql_query("SET NAMES 'utf8'");
 //récupération de la variable d'URL,
  //qui va nous permettre de savoir quel enregistrement modifier
  $id  = $_GET["idPersonne"] ;
 
  //requéte SQL:
  $sql = "SELECT *
            FROM cr
      WHERE no = "
.$id ;
 
  //exécution de la requéte:
  $requete = mysql_query( $sql, $cnx ) ;
 
  //affichage des données:
  if( $result = mysql_fetch_object( $requete ) )
  {
  ?>
 
  <form name="insertion" action="crmodification3.php" method="POST">
  <input type="hidden" name="no" value="<?php echo($id) ;?>">
  <table border="0" align="center" cellspacing="2" cellpadding="2">
   <tr align="center">
      <td>no</td>
      <td><input type="text" name="no" value="<?php echo($result->no) ;?>"></td>
    </tr>
  <tr align="center">
      <td>nom</td>
      <td><input type="text" name="nom" value="<?php echo($result->nom) ;?>"></td>
    </tr>
  <tr align="center">
      <td>cin</td>
      <td><input type="text" name="cin" value="<?php echo($result->cin) ;?>"></td>
    </tr>
    <tr align="center">
      <td>identifiant unique</td>
      <td><input type="text" name="identifiantunique" value="<?php echo($result->identifiantunique) ;?>"></td>
    </tr>
    <tr align="center">
      <td>date naissance</td>
      <td><input type="text" name="datenaissance" value="<?php echo($result->datenaissance) ;?>"></td>
    </tr>
    <tr align="center">
      <td>lieu naissance</td>
      <td><input type="text" name="lieunaissance" value="<?php echo($result->lieunaissance) ;?>"></td>
    </tr>
    <tr align="center">
      <td>etat civil</td>
      <td><input type="text" name="etatcivil" value="<?php echo($result->etatcivil) ;?>"></td>
    </tr>
  <tr align="center">
      <td>enfants</td>
      <td><input type="text" name="enfants" value="<?php echo($result->enfants) ;?>"></td>
    </tr>
  <tr align="center">
      <td>grade actuel</td>
      <td><input type="text" name="gradeactuel" value="<?php echo($result->gradeactuel) ;?>"></td>
    </tr>
  <tr align="center">
      <td>grade entree</td>
      <td><input type="text" name="gradeentree" value="<?php echo($result->gradeentree) ;?>"></td>
    </tr>
  <tr align="center">
      <td>date entree</td>
      <td><input type="text" name="dateentree" value="<?php echo($result->dateentree) ;?>"></td>
    </tr>
  <tr align="center">
      <td>grade obtention</td>
      <td><input type="text" name="gradeobtention" value="<?php echo($result->gradeobtention) ;?>"></td>
    </tr>
  <tr align="center">
      <td>fonction</td>
      <td><input type="text" name="fonction" value="<?php echo($result->fonction) ;?>"></td>
    </tr>
  <tr align="center">
      <td>diplomes</td>
      <td><input type="text" name="diplomes" value="<?php echo($result->diplomes) ;?>"></td>
    </tr>
  <tr align="center">
      <td>intirimes</td>
      <td><input type="text" name="intirimes" value="<?php echo($result->intirimes) ;?>"></td>
    </tr>
  <tr align="center">
      <td>stages & formations</td>
      <td><input type="text" name="stagesformations" value="<?php echo($result->stagesformations) ;?>"></td>
    </tr>
  <tr align="center">
      <td>tel</td>
      <td><input type="text" name="tel" value="<?php echo($result->tel) ;?>"></td>
    </tr>
  <tr align="center">
      <td>adresse</td>
      <td><input type="text" name="adresse" value="<?php echo($result->adresse) ;?>"></td>
    </tr>
  <tr align="center">
      <td>domiciliation salaire</td>
      <td><input type="text" name="domiciliationsalaire" value="<?php echo($result->domiciliationsalaire) ;?>"></td>
    </tr>
  <tr align="center">
      <td>no compte</td>
      <td><input type="text" name="nocompte" value="<?php echo($result->nocompte) ;?>"></td>
    </tr>
  <tr align="center">
      <td>postes anterieurs</td>
      <td><input type="text" name="postesanterieurs" value="<?php echo($result->postesanterieurs) ;?>"></td>
    </tr>
    <tr align="center">
      <td colspan="2"><input type="submit" value="modifier"></td>
    </tr>
  </table>
</form>
 <?php
  }//fin if
  ?>
</body>
</html>
 

et finallement la page3: crmodification3.php

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "[url]http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd[/url]">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>crmodification3</title>
</head>

<body>
<?php
// Indique le bon format des entêtes (par défaut apache risque de les envoyer au standard ISO-8859-1)
header('Content-type: text/html; charset=UTF-8');
  //connection au serveur:
    $cnx = mysql_connect( "host", "user", "xxx" ) ;
    //sélection de la base de données:
    $db = mysql_select_db( "AAAAA" ) ;
           // Indique à mySql de travailler en UTF-8 (par défaut mySql risque de travailler au standard ISO-8859-1)
         mysql_query("SET NAMES 'utf8'");

 //récupération des valeurs des champs:

  //nom:
  $nom     = $_POST["nom"] ;
  //prenom:
  $cin = $_POST["cin"] ;
    //identifiantunique:
  $identifiantunique = $_POST["identifiantunique"] ;
  //datenaissance:
  $datenaissance        = $_POST["datenaissance"] ;
  //lieunaissance:
  $lieunaissance       = $_POST["lieunaissance"] ;
 //etatcivil:
  $etatcivil       = $_POST["etatcivil"] ;
  //enfants:
  $enfants       = $_POST["enfants"] ;
   //gradeactuel:
  $gradeactuel       = $_POST["gradeactuel"] ;
    //gradeentree:
  $gradeentree       = $_POST["gradeentree"] ;
    //dateentree:
  $dateentree       = $_POST["dateentree"] ;
    //gradeobtention:
  $gradeobtention       = $_POST["gradeobtention"] ;
    //fonction:
  $fonction       = $_POST["fonction"] ;
    //diplomes:
  $diplomes       = $_POST["diplomes"] ;
    //intirimes:
  $intirimes       = $_POST["intirimes"] ;
    //stagesformations:
  $stagesformations       = $_POST["stagesformations"] ;  
    //tel:
  $tel       = $_POST["tel"] ;
    //adresse:
  $adresse       = $_POST["adresse"] ;
    //domiciliationsalaire:
  $domiciliationsalaire       = $_POST["domiciliationsalaire"] ;
    //nocompte:
  $nocompte       = $_POST["nocompte"] ;
    //postesanterieurs:
  $postesanterieurs       = $_POST["postesanterieurs"] ;
 
   //récupération de l'identifiant de la personne:
  $id         = $_POST["no"] ;
 
  //création de la requéte SQL:
  $sql = "UPDATE cr
            SET nom         = '$nom',
                cin         = '$cin',
                identifiantunique         = '$identifiantunique',
                datenaissance         = '$datenaissance',
                lieunaissance         = '$lieunaissance',
                etatcivil         = '$etatcivil',
                enfants         = '$enfants',
                gradeactuel         = '$gradeactuel',
                gradeentree         = '$gradeentree',
                dateentree         = '$dateentree',
                gradeobtention         = '$gradeobtention',            
                fonction     = '$fonction',
                diplomes    = '$diplomes',
                intirimes           = '$intirimes',
                stagesformations = '$stagesformations',
                tel           = '$tel',
                adresse       = '$adresse',
                domiciliationsalaire       = '$domiciliationsalaire',
                nocompte       = '$nocompte',
                postesanterieurs = '$postesanterieurs',
           WHERE no = '$id' "
;
 
  //exécution de la requéte SQL:
  $requete = mysql_query($sql, $cnx) or die( mysql_error() ) ;
 
 
  //affichage des résultats, pour savoir si la modification a marchée:
  if($requete)
  {
    echo("La modification a été correctement effectuée") ;
  }
  else
  {
    echo("La modification a échoué") ;
  }
?>
</body>
</html>

...
le probleme : il ya erreur qui s'affiche lors de la modification:
je reçois ce message "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'WHERE no = '17'' at line 22"
merci pour votre aide smile

Hors ligne

#2 01-03-2013 12:24:53

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : corriger erreur php: modification de base données

elabadiabdelmoula a écrit :
   //création de la requéte SQL:
  $sql = "UPDATE cr
            SET nom         = '$nom',
                cin         = '$cin',
                identifiantunique         = '$identifiantunique',
                datenaissance         = '$datenaissance',
                lieunaissance         = '$lieunaissance',
                etatcivil         = '$etatcivil',
                enfants         = '$enfants',
                gradeactuel         = '$gradeactuel',
                gradeentree         = '$gradeentree',
                dateentree         = '$dateentree',
                gradeobtention         = '$gradeobtention',            
                fonction     = '$fonction',
                diplomes    = '$diplomes',
                intirimes           = '$intirimes',
                stagesformations = '$stagesformations',
                tel           = '$tel',
                adresse       = '$adresse',
                domiciliationsalaire       = '$domiciliationsalaire',
                nocompte       = '$nocompte',
                postesanterieurs = '$postesanterieurs',
           WHERE no = '$id' "
;
 
  //exécution de la requéte SQL:
  $requete = mysql_query($sql, $cnx) or die( mysql_error() ) ;

la dernière virgule, avant le WHERE, est évidemment de trop.
Quant au reste .....


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#3 01-03-2013 17:09:43

Jc
Membre
Lieu : Zillisheim - Alsace
Inscription : 15-04-2010
Messages : 1 629
Site Web

Re : corriger erreur php: modification de base données

... ca relève de la 4e dimension sad

Y a du taf en perspective^^


POO PHP+Ajax en MVC avec PDO et Bases de données épaisses  : What else?

Hors ligne

Pied de page des forums