Suppression dans une boucle

Par jojo36, il y a 11 ans


Salut,
Je vous explique la situation : j'ai des infos dans la bdd. J'ai fait une boucle pour lire les infos en php. Le truc que j'aimerais faire, tout simplement mettre un bouton de suppression dans la boucle, pour qu'il supprimer l'entrée en question.

<?php if(isset($_POST['supprimer'])) { $id = $donnees['id']; $bdd->query("DELETE FROM news WHERE id='$id'"); } $query = $bdd->query("SELECT * FROM news"); WHILE ($donnees = $query->fetch()) { ?> <p><?php echo $donnees['contenu']; ?></p> <form method="post" action="page.php"> <input type="submit" name="supprimer" value="supprimer" /> </form> <?php $query->CloseCursor(); } ?>

Et le problème, vous vous en doutez bien, c'est que ça supprime toutes les infos de la table ^^. Vous avez une idée ?
Merci, :)

4 réponses

Carouge10, il y a 11 ans

Bonsoir,

Vous voulez supprimer une entrée dans la BDD ou plusieurs à la fois ?

kewai, il y a 11 ans

Il faut utiliser le fetchAll() au lieu du fetch pour ton while
Il faut envoyer l'id de ta new par ton formulaire et ta variable id doit etre de cette façon :

$id = $_POST['id'];
Yentia, il y a 11 ans

Salut,

Dans ton formulaire ajoute un champ de type hidden
input type="hidden" name="identifiant" value="$donnees['contenu']"
Ce champ sera caché et aura comme valeur l'id.
Apres tu le recupere avec $_POST['identifiant']

En esperant que cela t'aidera.
Bonne continuation

jojo36, il y a 11 ans

Merci tout le monde ;)