Vous n'êtes pas identifié(e).
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 :
<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
<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
<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
Hors ligne
//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