[RESOLU] Supprimer ligne dans base de donnée avec PHP PDO

Eléphanteau du PHP | 13 Messages

16 oct. 2020, 11:38

Bonjour,

J'aurai besoin d'aide pour supprimer une ligne dans mon tableau dans une base de données PHP. Je ne sais pas pourquoi cela ne fonctionne pas. Le résultat quand je clique sur le bouton pour supprimer me donne "La ligne a été supprimée" mais aucune ligne n'a été supprimé.
Je vous montre le code que j'ai rédigé :

Code : Tout sélectionner

<?php include('index.php'); $filename ='connect.php'; if(file_exists($filename)){ include($filename); $requete = "SELECT * FROM fournisseurs"; $resultat = $connexion->query($requete); $liste = $resultat->fetchAll(PDO::FETCH_ASSOC); } ?> <!DOCTYPE html> <html lang="fr"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" integrity="sha384-JcKb8q3iqJ61gNV9KGb8thSsNjpSL0n8PARn9HuZOnIxN0hoP+VmmDGMN5t9UJ0Z" crossorigin="anonymous"> <title>Ex final</title> </head> <body> <table class="table"> <thead class="thead-dark"> <tr><th>idFournisseur</th><th>Société</th><th>Adresse</th><th>Code postal</th><th>Ville</th><th>Commentaire</th></tr> </thead> <tbody> <?php foreach($liste as $element): ?> <tr> <td><?php echo $element['idFournisseur']; ?></td> <td><?php echo $element['Societe']; ?></td> <td><?php echo $element['Adresse']; ?></td> <td><?php echo $element['CP']; ?></td> <td><?php echo $element['Ville']; ?></td> <td><?php echo $element['Commentaire']; ?></td> <td><a class="btn btn-warning" href="traitementMF.php" role="button"><svg width="1em" height="1em" viewBox="0 0 16 16" class="bi bi-pencil-fill" fill="currentColor" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" d="M12.854.146a.5.5 0 0 0-.707 0L10.5 1.793 14.207 5.5l1.647-1.646a.5.5 0 0 0 0-.708l-3-3zm.646 6.061L9.793 2.5 3.293 9H3.5a.5.5 0 0 1 .5.5v.5h.5a.5.5 0 0 1 .5.5v.5h.5a.5.5 0 0 1 .5.5v.5h.5a.5.5 0 0 1 .5.5v.207l6.5-6.5zm-7.468 7.468A.5.5 0 0 1 6 13.5V13h-.5a.5.5 0 0 1-.5-.5V12h-.5a.5.5 0 0 1-.5-.5V11h-.5a.5.5 0 0 1-.5-.5V10h-.5a.499.499 0 0 1-.175-.032l-.179.178a.5.5 0 0 0-.11.168l-2 5a.5.5 0 0 0 .65.65l5-2a.5.5 0 0 0 .168-.11l.178-.178z"/> </svg></a></td> <td><a class="btn btn-danger" href="supprimerF.php?id=<?php echo $element['idFournisseur']; ?>" role="button"><svg width="1em" height="1em" viewBox="0 0 16 16" class="bi bi-trash-fill" fill="currentColor" xmlns="http://www.w3.org/2000/svg"> <path fill-rule="evenodd" d="M2.5 1a1 1 0 0 0-1 1v1a1 1 0 0 0 1 1H3v9a2 2 0 0 0 2 2h6a2 2 0 0 0 2-2V4h.5a1 1 0 0 0 1-1V2a1 1 0 0 0-1-1H10a1 1 0 0 0-1-1H7a1 1 0 0 0-1 1H2.5zm3 4a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-1 0v-7a.5.5 0 0 1 .5-.5zM8 5a.5.5 0 0 1 .5.5v7a.5.5 0 0 1-1 0v-7A.5.5 0 0 1 8 5zm3 .5a.5.5 0 0 0-1 0v7a.5.5 0 0 0 1 0v-7z"/> </svg></a></td> </tr> <?php endforeach; ?> </tbody> </table> </body> </html>

Code : Tout sélectionner

<?php include('index.php'); $filename = 'connect.php'; if(file_exists($filename)){ include $filename; } $requete = $connexion->prepare('DELETE FROM fournisseurs WHERE idFournisseur=:idFournisseur LIMIT 1'); $requete->bindValue(':idFournisseur', $_GET['idFournisseur'], PDO::PARAM_INT); $resultat = $requete->execute(); if($resultat){ echo "La ligne a été supprimée"; }else{ echo "Echec de la suppression de la ligne"; } ?>
Merci d'avance pour votre aide.
Cordialement.

Mammouth du PHP | 2703 Messages

16 oct. 2020, 13:28

href="supprimerF.php?id=..."
$_GET['idFournisseur']
forcément, cela ne fonctionne pas.