Suppression d'une ligne d'une BDD

Résolu/Fermé
Antoinelhoste Messages postés 2 Date d'inscription jeudi 13 juin 2013 Statut Membre Dernière intervention 13 juin 2013 - 13 juin 2013 à 13:38
Antoinelhoste Messages postés 2 Date d'inscription jeudi 13 juin 2013 Statut Membre Dernière intervention 13 juin 2013 - 13 juin 2013 à 14:05
Bonjour, je crée mon site avec un formulaire de contact, et un espace admin' pour voir les messages postés et les supprimer. L'affichage c'est bon mais pour le bouton 'Supprimer' , cela supprime seulement la dernière ligne qui se situe dans la table. J'ai fais des recherches mais j'arrive pas a adapter la solution sur mon code. Merci de votre aide

Mon code :
PAGE: messages.php

<?php
//affichage des messages
$sql = "SELECT * FROM contact";
$req = mysql_query($sql);

while ($data = mysql_fetch_array($req)){
echo 'Message numéro: '.$data['id'].'<br>';
echo 'Nom: '.$data['nom'].'<br>';
echo 'Prénom: '.$data['prenom'].'<br>';
echo 'Tél: '.$data['tel'].'<br>';
echo 'Email: '.$data['email'].'<br>';
echo 'Message: '.$data['message'].'<br>';
?>

<!-- Bouton suppression message -->
<form method="post" action="supprimermsg.php?">
<select name="msg">
<?php
echo '<option value="'.$data['id'].'">'.$data['id'].'</option>';
?>

</select>
<input type="submit" value="Supprimer" name="supprimer"/>
<?php
echo '<br>________________________________________<br>';

}
mysql_free_result ($req);
mysql_close ();
?>
PAGE: supprimermsg.php

<?php

mysql_connect('localhost', 'root', '');
mysql_select_db('site');


$id = $_POST['msg'];

$sql = "DELETE FROM contact WHERE id = '$id'";
$req = mysql_query($sql);

header("location:messages.php");// Redirection vers la page
A voir également:

2 réponses

Zep3k!GnO Messages postés 2025 Date d'inscription jeudi 22 septembre 2005 Statut Membre Dernière intervention 18 novembre 2015 200
13 juin 2013 à 13:58
Il faut que tu sortes ta balise <form> de ton while et que tu la fermes après car là si tu regardes ta source, tu dois avoir autant de balises form que de ligne récupérées via ta requête.
0
Antoinelhoste Messages postés 2 Date d'inscription jeudi 13 juin 2013 Statut Membre Dernière intervention 13 juin 2013
13 juin 2013 à 14:05
Merci, le fait que <form> soit dans le while était normal, j'avais juste oublié de la fermer apres le </select>, maintenant ça marche. Merci pour ton aide Zep3k!GnO.
0