PB pour récupérer $id MySQL en PHP
Bonjour,
j'essai de mettre en place un bouton qui supprime la ligne d'un tableau résultant d'une Base de données. En cliquant sur le bouton, c'est ce fichier qui s'execute. Le Pb est qu'il ne reconnait pas l'id_location et donc la supression ne marche pas. Qqn aurait-il une solution? Merci.
<?php
$db = mysql_connect('localhost', 'lnce', 'ceCIT');
mysql_select_db('ln_ce_gestion',$db);
$sql = "DELETE FROM location_vtt WHERE id_location=".$_POST['id_location']."";
if (mysql_query($sql) ==0) {
echo"<p>La location n° ".$id_location." a été supprimée.";
} else {
echo "<p>Problème lors de l'exécution de l'ordre ".$sql;
}
mysql_close();
?>
j'essai de mettre en place un bouton qui supprime la ligne d'un tableau résultant d'une Base de données. En cliquant sur le bouton, c'est ce fichier qui s'execute. Le Pb est qu'il ne reconnait pas l'id_location et donc la supression ne marche pas. Qqn aurait-il une solution? Merci.
<?php
$db = mysql_connect('localhost', 'lnce', 'ceCIT');
mysql_select_db('ln_ce_gestion',$db);
$sql = "DELETE FROM location_vtt WHERE id_location=".$_POST['id_location']."";
if (mysql_query($sql) ==0) {
echo"<p>La location n° ".$id_location." a été supprimée.";
} else {
echo "<p>Problème lors de l'exécution de l'ordre ".$sql;
}
mysql_close();
?>
10 réponses
-
salut,
Euh tu l'execute ou ta requete ? car la tu verifie juste si il y a quelque chose mais en aucun cas tu n'execute le delete.
Virtuaklem
pas si dur l'informatique -
Bonsoir
Essaie
if (mysql_query($sql)) {
....
} -
Merci, j'essai ca demain matin dès que j'arrive au boulot ... en espérant que ca marchera car mon stage se termine vendredi soir. Merci. Je te tiens au courant . A+. Bonne soirée. Jm
-
En gros, tu fais une requete du genre :
Si il y a ca
tu affiche cela
sinon
tu affiche cela
alors que tu devrais plutot faire une requete du style :
Si ca correspond
tu supprime la ligne et tu affiche cela
sinon
tu affiche cela.
J'espere que cela va mieux t'aider ;)
Virtuaklem
pas si dur l'informatique -
Bonjour
Le test que je t'avais proposé ne vérifiait que la validité de la requête (qu'il y ait eu suppression ou pas).$sql = "DELETE FROM location_vtt WHERE id_location=".$_POST['id_location'].""; echo $sql . "<br>\n"; // pour vérifier si ta requête contient bien ce que tu attends $resultat = mysql_query($sql) or die("requete invalide"); $nb=mysql_num_rows($resultat); if ($nb>0) { echo"<p>La ou les location(s) n° ".$id_location." a été supprimée."; } else { echo "<p>Rien n'a ete supprime"; } mysql_close(); -
(suite du message précédent envoyé trop vite)
Essaie le code ci-dessus qui est plus complet. -
Merci merci pour les codes commentés mais ca marche tjrs pas: Voila la réponse: "DELETE FROM location_vtt WHERE id_location=
requete invalide".
Je ne sais pas comment dire de choper l'id_location correspondant à la ligne ou se trouve la poubelle (renvoyant vers le fichier supp.php ci-dessus).
Merci quand même :)
Jm -
Regarde dans mon profil, tu as mon adresse mail envoi moi juste ton script avec ton bouton et ton script delete, sans les d'acces a ta bdd, je vais essayer de voir ce qui ne colle pas ;)
Virtuaklem
pas si dur l'informatique -
Bonjour
Voila la réponse: "DELETE FROM location_vtt WHERE id_location= requete invalide".
Tu as maintenant une réponse plus précise, il n'y a rien dans $_POST['id_location']
Essaie aussi$sql = "DELETE FROM location_vtt WHERE id_location=$_POST['id_location']";
si $_POST['id_location'] est numérique ou$sql = "DELETE FROM location_vtt WHERE id_location='" . $_POST['id_location'] . "'";
si $_POST['id_location']est alphanumérique. -
Merci bcp à tous pour vos réponses! Ca marche! J'ai suivi les conseils de Virtuaklem et utilisé des $_get[] pour récupérer l'id_location. Encore merci, je suis content, mon stage se termine ce soir et tout fonctionne. A+. Jean-Marie