Découvez les bases de PHP dans mon support de formation dédié à ce puissant langage orienté web.
Dans ce tutoriel, nous allons voir comment mettre à jour un enregistrement.
Télécharger la base de données disques.sql
Pour mettre à jour un enregistrement, nous allons utiliser UPDATE en SQL.
UPDATE table
SET champ1=valeur1, champ2=valeur2
WHERE condition
Exemple
Nous voulons modifier l'enregistrement 1 de notre table disque en envoyant le id_disque avec POST via un formulaire
enregistrement à partir de données envoyées via un formulaire ou une url.
Voici le code PHP :
<?php
// Connexion à MySQL
$connection=mysqli_connect("serveur", "login", "mot_de_passe", "base_de_donnees);
if(isset($_POST['Bouton'])) {
// Réecriture des variables
$id_disque=$_POST['id_disque'];
$nom_disque=$_POST['nom_disque'];
$auteur_disque=$_POST['auteur_disque'];
$note_disque=$_POST['note_disque'];
$date_disque=$_POST['date_disque'];
// Requête de modification d'enregistrement
$ModifierDisque="UPDATE disques SET
nom_disque='$nom_disque',
auteur_disque='$auteur_disque',
note_disque='$note_disque',
date_disque='$date_disque'
WHERE id_disque=1";
// Exécution de la requête
$resultat=mysqli_query($connection, $ModifierDisque);
// Contrôle sur la requête
if(!$resultat) {
die('Erreur SQL !'.$ModifierDisque.'<br />'.mysql_error());
}
else {
echo "<div class='alert alert-success'><h1>Requête validée !</h1><p>La mise a jour a bien été effectuée !</p>";
}
} // Fin du test isset
?>
Voici le code HTML et PHP pour le formulaire
<form name="form1" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
<table class="table table-responsive">
<tr>
<td>id disque</td>
<td><?php echo $row_disques['id_disque']; ?></td>
</tr>
<tr>
<td>Nom</td>
<td><input type="text" name="nom_disque" value="<?php echo htmlentities($row_disques['nom_disque']); ?>"></td>
</tr>
<tr>
<td>Auteur</td>
<td>
<input type="text" name="auteur_disque" value="<?php echo htmlentities($row_disques['auteur_disque']); ?>">
</td>
</tr>
<tr>
<td>Note</td>
<td>
<input type="text" name="note_disque" value="<?php echo htmlentities($row_disques['note_disque']); ?>">
</td>
</tr>
<tr>
<td>Date</td>
<td><input type="text" name="date_disque" value="<?php echo htmlentities($row_disques['date_disque']); ?>"></td>
</tr>
<tr>
<td><input type="hidden" name="id_disque" value="<?php echo $row_disques['id_disque']; ?>"></td>
<td>
<input type="hidden" name="MM_update" value="form1">
<input type="submit" name="Bouton" value="Modifier">
</td>
</tr>
</table>
</form>
Et ensuite,on coupe la connexion :
<?php
mysqli_close($connection);
?>
Attention
Il faudra veillez à sécuriser le code ci-dessus et se prémunir contre ces attaques :
Je le détaillerai dans un prochain tutoriel.