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

jleyaoua Messages postés 5 Statut Membre -  
 Jean-Marie -
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();

?>

10 réponses

  1. Virtuaklem Messages postés 161 Statut Membre 66
     
    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
    0
    1. Jean-Marie
       
      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
      0
  2. ric
     
    Bonsoir
    Essaie
    if (mysql_query($sql)) {
    ....
    }
    0
  3. Jean-Marie
     
    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
    0
  4. Virtuaklem Messages postés 161 Statut Membre 66
     
    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
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. ric
     
    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(); 
    0
  7. ric
     
    (suite du message précédent envoyé trop vite)
    Essaie le code ci-dessus qui est plus complet.
    0
  8. Jean-Marie
     
    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
    0
  9. Virtuaklem Messages postés 161 Statut Membre 66
     
    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
    0
  10. ric
     
    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.
    0
  11. Jean-Marie
     
    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
    0