Easy-Micro

ESPACEMEMBRE PHP-MySQL
Suppression

Suppression de données

Supprimer un enregistrement dans une table MySQL avec l'extension PDO

Cet exemple reprend le code utilisé pour la modification d'un enregistrement SQL (menu déroulant)

<?php
//Exercice réalisé en octobre 2020 avec Muriel Capbern de la CPAM de Mont de Marsan
$requete = 'SELECT id_client, nom_client FROM clients';
$resultat = $bdd->prepare($requete);
$resultat->execute();
?>

<script>
// Deux instructions pour que l'analyseur de code ESLint dans Brackets ne râle pas :-)
/* eslint no-unused-vars: 0*/ // Désactive l'erreur des variables déclarées mais pas utilisées
/* global window */ // Déclare l'objet window comme variable globale

function confirme_suppression() {
"use strict";// Déclaration de variables obligatoire (toujours pour ESLint :-)

var reponse = confirm("Est-vous sûr de vouloir supprimer cet enregistrement ?");
              if(reponse) {
return true;
} else {
return false;
}
}
</script>

Formulaire pour MODIFIER/SUPPRIMER des clients :<br>
<form action="index.php?page=traitement-modif" method="post" name="form1">
Nom : <select name="malistedenom" onchange="fait_passer();">
<!-- la fonction fait_passer() est dans le fichier mes_fonctions.js appelé depuis index.php -->
<option value="" selected>Veuillez sélectionner un client</option>
<?php
while($ligne = $resultat->fetch()) {
echo "<option value='".$ligne['id_client']."'>".$ligne['nom_client']."</option>";
}
?>
</select>
<input type="text" name="nom" style="display:none;">
<input type="hidden" name="idclient">
<input type="submit" value="Modifier" name="action">
<input type="submit" value="Supprimer" name="action" onclick="return confirme_suppression();">
</form>

Explication : Les deux boutons submit ont un name qui permet d'envoyer le type d'action en POST (modifier ou supprimer)

Fichier de traitement de modification/suppression d'une table MySQL avec la librairie PDO

// On récupère les infos envoyées en POST
if (isset($_POST['nom']) && !empty($_POST['nom'])){ $nom = $_POST['nom'];} else { $nom = "Inconnu";}
if (isset($_POST['idclient']) && !empty($_POST['idclient'])){ $idclient = $_POST['idclient'];} else { $idclient = "";}
if (isset($_POST['action'])){ $action = $_POST['action'];}

// Modification des enregistrements
if(isset($action) && $action == "Modifier") {
$requete = "UPDATE clients SET nom_client='".$nom."' WHERE id_client='".$idclient."' LIMIT 1";
} else {
$requete = "DELETE FROM clients WHERE nom_client = '".$nom."' AND id_client = '".$idclient."'";
}
$resultat = $bdd->prepare($requete);
$resultat->execute();

// redirection pour affichage du résultat
header("Location: index.php?page=affichage-client");


< Page précédente PHP-MYSQL Page suivante >