Rechercher : dans
Par :

PB pour récupérer $id MySQL en PHP

Dernière réponse le 6 aoû 2004 à 16:35:19 jleyaoua, le 4 aoû 2004 à 14:08:38 
 Signaler ce message aux modérateurs

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();

?>

Meilleures réponses pour « PB pour récupérer $id MySQL en PHP » dans :
Installation rapide de LAMP (Apache+MySql+php) sous Linux Voir LAMP = Linux+Apache+MySql+Php. C'est le serveur web par excellence. L'ensemble est facile à installer. Installation rapide sudo aptitude install apache2 php5 mysql-server php5-mysql libapache2-mod-php5 Le mot de passe administrateur mySQL...
PHP - Récupération de données VoirPHP rend très simple la récupération de données envoyées par l'intermédiaire de formulaires HTML. Création d'un formulaire Grâce à la balise FORM du langage HTML, il est très simple de créer des formulaires comprenant : des champs de saisie des...
PHP - Bases de données VoirPhp permet un interfaçage très simple avec un grand nombre de bases de données. Lorsqu'une base de données n'est pas directement supportée par Php, il est possible d'utiliser un driver ODBC, pilote standard pour communiquer avec les bases de...

1

Virtuaklem, le 4 aoû 2004 à 15:17:53

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

Répondre à Virtuaklem

2

Jean-Marie, le 4 aoû 2004 à 19:53:02

Salut,

Merci. Désolé j'ai pas compris ta question. En fait quand je remplace '$id_location' par '8' par exemple, le DELETE fonctionne et supprime la ligne. Ce que j'arrive pas à implémenter c'est récuperer le bon numéro. Actuellement il récupère rien . Je sais pas si j'explique bien mon pb.

Jm

Répondre à Jean-Marie

3

ric, le 4 aoû 2004 à 20:41:04

Bonsoir
Essaie
if (mysql_query($sql)) {
....
}

Répondre à ric

4

Jean-Marie, le 4 aoû 2004 à 21:49:29

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

Répondre à Jean-Marie

5

Virtuaklem, le 5 aoû 2004 à 13:28:49

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

Répondre à Virtuaklem

6

ric, le 5 aoû 2004 à 15:21:34

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(); 

Répondre à ric

7

ric, le 5 aoû 2004 à 15:25:39

(suite du message précédent envoyé trop vite)
Essaie le code ci-dessus qui est plus complet.

Répondre à ric

8

Jean-Marie, le 5 aoû 2004 à 16:33:33

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

Répondre à Jean-Marie

9

Virtuaklem, le 5 aoû 2004 à 16:47:55

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

Répondre à Virtuaklem

10

ric, le 6 aoû 2004 à 09:28:29

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.

Répondre à ric

11

 Jean-Marie, le 6 aoû 2004 à 16:35:19

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

Répondre à Jean-Marie