Soucis de Suppression ligne tableau + Ligne BDD en PHP
Résolu
Izzara82
Messages postés
26
Date d'inscription
Statut
Membre
Dernière intervention
-
Izzara82 Messages postés 26 Date d'inscription Statut Membre Dernière intervention -
Izzara82 Messages postés 26 Date d'inscription Statut Membre Dernière intervention -
Bonsoir à tous et toutes,
J'alimente une base de données à l'aide d'un formulaire dans une page PHP - Dans une seconde page PHP, je récupère l'ensemble des données dans un tableau à la fin duquel j'ai rajouté un bouton "SUPPRIMER".
J'aimerai que, lors de l'appui sur ce bouton, la ligne du tableau s'"efface tout comme la ligne de la base de données s'y rapportant.
Je vous joins le code actuel en espérant pouvoir trouver une solution avec votre aide.
Merci d'avance
1/ Page de saisie avec envoi dans la base de données - saisie.php
2/ Page récupération données de la BDD - encours.php
3/ Page pour la suppression des données de la BDD - supp.php
J'alimente une base de données à l'aide d'un formulaire dans une page PHP - Dans une seconde page PHP, je récupère l'ensemble des données dans un tableau à la fin duquel j'ai rajouté un bouton "SUPPRIMER".
J'aimerai que, lors de l'appui sur ce bouton, la ligne du tableau s'"efface tout comme la ligne de la base de données s'y rapportant.
Je vous joins le code actuel en espérant pouvoir trouver une solution avec votre aide.
Merci d'avance
1/ Page de saisie avec envoi dans la base de données - saisie.php
<?php // AFFICHAGE DES ERREURS PHP error_reporting(E_ALL); ini_set('display_errors', TRUE); ini_set('display_startup_errors', TRUE); // SAISIE DES DONNEES if(!empty($_POST['datum']) && !empty($_POST['numbers']) && !empty($_POST['synthesis']) && !empty($_POST['firstname']) && !empty($_POST['lastname'])) { require('src/bddconnect.php'); // CONNEXION BDD // ON STOCK LES DONNEES DANS DES VARIABLES $date = ($_POST['datum']); $numbers = ($_POST['numbers']); $synthesis = ($_POST['synthesis']); $firstname = ($_POST['firstname']); $lastname = ($_POST['lastname']); // TEST SI NUMERO DE PROCEDURE DEJA SAISI // 1 - PREPARATION DES VARIABLES $sql = 'SELECT COUNT(*) AS numProc FROM procedures WHERE numbers = ?'; $datas = array($numbers); // 2 - REQUETE try { $requete = $bdd->prepare($sql); $requete->execute($datas); // 3 - TEST PRESENCE PROCEDURE while ($consultation = $requete->fetch()) { if ($consultation['numProc'] != 0) { header('location: saisie.php?error=1&message=procédure déjà enregistrée'); // PROCEDURE DEJA ENREGISTREE exit(); } } } catch (Exception $e) { echo " Erreur ! ".$e->getMessage(); echo " Les datas : " ; print_r($datas); } // ENVOI DE LA REQUETE - ALIMENTATION DE LA BDD // 1 - PREPARATION DES VARIABLES $sql = 'INSERT INTO procedures(datum, numbers, synthesis, firstname, lastname) VALUES(?, ?, ?, ?, ?)'; $datas = array($date, $numbers, $synthesis, $firstname, $lastname); // 2 - REQUETE try { $requete = $bdd->prepare($sql); $requete->execute($datas); header('location: saisie.php?success=1'); exit(); } catch (Exception $e) { echo " Erreur ! ".$e->getMessage(); echo " Les datas : " ; print_r($datas); } } ?> <!DOCTYPE html> <html lang="fr"> <head> <meta charset="utf-8"> <link rel="stylesheet" type="text/css" href="design/default.css"> <link href="https://fonts.googleapis.com/css2?family=Roboto&display=swap" rel="stylesheet"> <title>Saisie des données</title> </head> <body> <header class="header_saisie"> <!-- Page d'accueil --> <h1>PAGE DE SAISIE DES DONNEES</h1> <!-- Logo Gendarmerie --> <img class="logo_gie" src="images/logo-officiel-gendarmerie.jpg" alt=""> </header> <!-- Barre de navigation --> <?php include "menu.php" ?> <!-- Zone de saisie --> <div class="saisie"> <!-- Page pour la saisie des données des procédures --> <h3>CHAMPS DE SAISIE</h3> <form action="saisie.php" method="POST"> <p> <label>Date d'enregistrement : </label> <input type="date" name="datum" required> </p> <p> <label>Numéro de procédure : </label> <input type="text" name="numbers" size="25" placeholder="Format 15321/00000/0000" required> </p> <p> <label>Synthèse : </label> <input type="text" name="synthesis" size="50" placeholder="Exposé simple de la mission" required> </p> <p> <label>Nom : </label> <input type="text" name="firstname" size="20" required> </p> <p> <label>Prénom : </label> <input type="text" name="lastname" size="20" required> </p> <p> <button type="submit">Transmettre les données</button> <button type="reset">Réinitialiser</button> </p> </form> </div> </body> </html>
2/ Page récupération données de la BDD - encours.php
<!DOCTYPE html> <html lang="fr"> <head> <meta charset="utf-8"> <link rel="stylesheet" type="text/css" href="design/default.css"> <link href="https://fonts.googleapis.com/css2?family=Roboto&display=swap" rel="stylesheet"> <title>Procédures enregistrées</title> </head> <body> <header> <!-- Page d'accueil --> <h1>PROCEDURES ENREGISTREES</h1> </header> <!-- Logo Gendarmerie --> <img class="logo_gie" src="images/logo-officiel-gendarmerie.jpg" alt=""> <!-- Barre de navigation --> <?php include "menu.php" ?> <div class="encours"> <h2>LISTE DES PROCEDURES EN COURS</h2> <?php require('src/bddconnect.php'); // Connexion à la base de données // Lecture des données $requete = $bdd->query('SELECT * FROM procedures'); echo' <table border class="procedures"> <tr> <th>Date</th> <th>Numéro de procédure</th> <th>Synthèse</th> <th>Nom</th> <th>Prénom</th> <th>Suppression</th> </tr>'; while($donnees = $requete->fetch()) { echo ' <tr> <td>'.$donnees['datum'].'</td> <td>'.$donnees['numbers'].'</td> <td>'.$donnees['synthesis'].'</td> <td>'.$donnees['firstname'].'</td> <td>'.$donnees['lastname'].'</td> <td> <form action="encours.php" method="POST"> <input type="hidden" type="submit" name="id" value="'.$donnees['id'].'"> <input type="submit" name="supprimer" value="Supprimer"> </form> </td> </tr>'; } echo' </table>'; ?> </div> </body> </html>
3/ Page pour la suppression des données de la BDD - supp.php
<?php try { $bdd = new PDO('mysql:host=localhost;dbname=cob_valence;charset=utf8', 'root', ''); // Connection à la Base de Données $bdd->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); $bdd->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC); } catch (PDOException $e) { die('Erreur : ' . $e->getMessage()); } if(isset($_POST['supprimer'])){ $proc_del = $_POST['id']; $bdd->query("DELETE FROM procedures WHERE id=" . $proc_del); header('Location: encours.php'); } ?>
A voir également:
- Soucis de Suppression ligne tableau + Ligne BDD en PHP
- Partage de photos en ligne - Guide
- Mètre en ligne - Guide
- Tableau word - Guide
- Formulaire en ligne de meta - Guide
- Forcer suppression fichier - Guide