Modification

Fermé
s.memorisation Messages postés 1 Date d'inscription mercredi 11 juin 2014 Statut Membre Dernière intervention 11 juin 2014 - 11 juin 2014 à 21:41
 s.memorisatio - 13 juin 2014 à 10:33
Salut
voulant finir ma base de données mais une petite embuche me gênait pour réaliser une requête de modification de données avec un formulaire sous php. Je cherche une âme généreuse qui aura pitié de moi car ça fait un moi que je suis derrière elle sans résultat, alors je vous propose mes deux codes:
1er:code du formulaire:
<?php

// information pour la connection à le DB
$host = 'localhost';
$user = 'root';
$pass = '';
$db = 'gestion';

// connection à la DB
$link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() );
mysql_select_db($db) or die ('Erreur :'.mysql_error());

// requête SQL qui compte le nombre total d'enregistrement dans la table et qui
//récupère tous les enregistrements
$select = 'SELECT * FROM eleve';
$result = mysql_query($select,$link) or die ('Erreur : '.mysql_error() );
$total = mysql_num_rows($result);

?>
<form name="insertion" action="traitement_modification.php" method="POST">
<table border="0" align="center" cellspacing="1" cellpadding="1">
<tr align="center">
<td align=center width=80 bgcolor="#DCDCDC">id</td>
<td><input type="text" name="id"> </td>
</tr>
<tr align="center">
<td align=center width=80 bgcolor="#DCDCDC">inscription</td>
<td><input type="text" name="inscription" ></td>
</tr>
<tr align="center">
<td align=center width=80 bgcolor="#DCDCDC">nom</td>
<td><input type="text" name="nom" ></td>
</tr>
<tr align="center">
<td align=center width=80 bgcolor="#DCDCDC">prenom</td>
<td><input type="text" name="prenom" ></td>
</tr>
<tr align="center">
<td align=center width=80 bgcolor="#DCDCDC">date de naissance</td>
<td><input type="text" name="date_naissance" "></td>
</tr>

<tr align="center">
<td align=center width=80 bgcolor="#DCDCDC">lieu_naissance</td>
<td><input type="text" name="lieu_naissance" ></td>
</tr>
<tr align="center">
<td align=center width=80 bgcolor="#DCDCDC">prenom du père</td>
<td><input type="text" name="prenom_pere" ></td>
</tr>
<tr align="center">
<td align=center width=80 bgcolor="#DCDCDC">N° du tel du père</td>
<td><input type="text" name="num_tel_pere" ></td>
</tr>

<tr align="center">
<td align=center width=80 bgcolor="#DCDCDC">adresse</td>
<td><input type="text" name="adresse" ></td>
</tr>
<tr align="center">
<td align=center width=80 bgcolor="#DCDCDC">niveau scolaire</td>
<td><input type="text" name="niveau_scolaire" ></td>
</tr>
<tr align="center">
<td align=center width=80 bgcolor="#DCDCDC">classe</td>
<td><input type="text" name="classe" ></td>
</tr>

<tr align="center">
<td align=center width=80 bgcolor="#DCDCDC">id du classe</td>
<td><input type="text" name="id_classe" "></td>
</tr>


<tr align="center">
<td colspan="2"><input type="submit" value="valider"></td>
</tr>
</table>
</form>
<?php

// Fermeture de la connexion à la base de données
mysql_close();
?>

2eme:code du traitement de modification

<?php
$bdd = new PDO('mysql:host=localhost;dbname=gestion', 'root', '');
?>

<?php
//connection au serveur
$cnx = mysql_connect( "localhost", "root", "" ) ;

//sélection de la base de données:
$db = mysql_select_db( "gestion" ) ;

//récupération des valeurs des champs:
$id = $_POST["id"] ;

$inscription = $_POST["inscription"] ;

$nom = $_POST["nom"] ;

$prenom = $_POST["prenom"] ;

$date_naissance = $_POST["date_naissance"] ;

$lieu_naissance = $_POST["lieu_naissance"] ;

$prenom_pere = $_POST["prenom_pere"] ;

$num_tel_pere = $_POST["num_tel_pere"] ;

$adresse = $_POST["adresse"] ;

$niveau_scolaire = $_POST["niveau_scolaire"] ;

$classe = $_POST["classe"] ;

$id_classe = $_POST["id_classe"] ;

//récupération de l'identifiant de la personne:
$id = $_POST["id"] ;

//création de la requête SQL:
$sql = "UPDATE eleve
SET inscription ='$inscription',
nom = '$nom',
prenom = '$prenom',
date_naissance ='$date_naissance',
lieu_naissance = '$lieu_naissance',
prenom_pere = '$prenom_pere',
num_tel_pere = '$num_tel_pere',
adresse = '$adresse',
niveau_scolaire = '$niveau_scolaire',
classe = '$classe',
id_classe = '$id_classe'
WHERE id = '$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 ete correctement effectuee") ;
}
else
{
echo("La modification à échouée") ;
}
echo "<p><a href='modifier.php'><center><h1>Retour A LA LISTE DES INSCRITS</h1></center></a></p>";


mysql_close();// facultative, on ferme la connexion

?>

je remercie toute personne qui me consacre ne serait ce que quelques minutes afin de réaliser cette requête sql de modification sous php .
cordialement

2 réponses

platypus69 Messages postés 108 Date d'inscription mardi 24 février 2009 Statut Membre Dernière intervention 11 février 2015 7
12 juin 2014 à 15:08
bonjour,

es ce que Mysql te donne une erreur ou te dit quelque chose de particulier??
0
s.memorisatio
13 juin 2014 à 10:33
Bonjour, Merci pour la réponse

La réponse que je reçois :
1. La requête passe bien et ne me renvoie aucune erreur.
2. le problème c'est qu'elle modifie toute la ligne avec les nouvelles données, mais moi, je cherche une requête qui ne modifie qu'une seule donnée .
je m'explique:
si j'ai une erreur dans le nom qui m'oblige à la corriger sans toucher aux autres données mais ici pour modifier, je dois saisir toutes les données même en laissant les anciennes sinon les cases resteront blanches.
merci
0