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


Yentia
Réponse acceptée

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

Bonsoir,

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

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'];
jojo36
Auteur

Merci tout le monde ;)