IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

PHP & Base de données Discussion :

Suppression d'un enregistrement [MySQL]


Sujet :

PHP & Base de données

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 137
    Par défaut Suppression d'un enregistrement
    Bonjour tout le monde,


    J'ai une page où est affiché les données d'une table dans un tableau. On y voit tous les enregistrements. Je souhaite supprimer les enregistrements.

    Il y autant de tuples que de boutons. Il faut appuyer sur le bouton pour supprimer la ligne. Cela me dit que la ligne a été supprimé mais en faite elle est toujours là... Je ne comprend pas du tout.

    Ma page principale :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    (...)
    </th><th><a href='suppression.php?idresp=".$ligne['idresp']." 'title='supprimer'><img src='images/supr.gif' alt='Supprimer' /></a></th></tr>";


    Voici ma page de suppression :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    <?php
     
      $cnx = mysql_connect( "***", "***", "****" ) ;
     
      $db = mysql_select_db( "****") ;
     
      $idresp = $_GET['idresp'] ; 
     
      $sql = "DELETE FROM responsable WHERE idresp = '.$idresp'"; 
      echo $idresp ;   
     
      $requete = mysql_query( $sql, $cnx ) or die ('Requête impossible :' .mysql_error());
     
        if($requete)
      {
        echo("La suppression à été correctement effectuée") ;
      }
      else
      {
        echo("La suppression à échouée") ;
      }
    ?>


    Cela m'affiche 24La suppression à été correctement effectuée
    (24 représentant le numéro 24 (idresp) de l'enregistrement que je souhaite supprimé)


    Si quelqu'un pouvait m'aider s'il vous plait


    Merci beaucoup.



    Guns Of The Patriots

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Par défaut
    Il y a des fautes dans ta requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     $sql = "DELETE FROM responsable WHERE idresp = ". intval($idresp);
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 137
    Par défaut
    Citation Envoyé par sabotage Voir le message
    Il y a des fautes dans ta requête :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     $sql = "DELETE FROM responsable WHERE idresp = ". intval($idresp);
    J'ai fait ta requête comme tu as écrit sabotage.

    Et cela me marque : "24Requête impossible :Reçu l'erreur -1 du handler de la table"


  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 50
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql = "DELETE FROM responsable WHERE idresp = ".$idresp ;
    et dans ton lien j'aurais plutôt vue :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo '.$ligne['idresp'].' ?>

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    137
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 137
    Par défaut
    Citation Envoyé par Stoo69 Voir le message

    et dans ton lien j'aurais plutôt vue :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <?php echo '.$ligne['idresp'].' ?>

    Tu le places comment Stoo69 dans cette ligne ?
    </th><th><a href='suppression.php?idresp=".$ligne['idresp']." 'title='supprimer'><img src='images/supr.gif' alt='Supprimer' /></a></th></tr>";

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Février 2010
    Messages
    24
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 24
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql="delete from responsable where idresp='$idresp' limit 1";
    essai ça sans ajouter un seul caractère supplémentaire dans la requête.

    Ta première requête ne renvoi pas d'erreur parce qu'elle n'est pas erronée en soit. Elle ne renvoi aucun résultat, nuance^^ parce qu'elle était mal écrite

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     $sql = "DELETE FROM responsable WHERE idresp = '.$idresp'";
    le point dans la valeur de ton champ, avant la variable, retransmet une chaine correspondant à:

    ".(contenu de la variable)"

    donc sauf si c'est comme ça que ta table est construite, ce dont je doute, il te faut le retirer. Avec lui, on cherche le champ ".3541354" (exemple^^) au lieu du champ "3541354", la requête est bonne mais il n'y a pas de concordance avec les valeurs dans la table, donc elle n'efface rien.

  7. #7
    Membre confirmé
    Inscrit en
    Novembre 2008
    Messages
    102
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 102
    Par défaut
    Mon problème est le suivant :
    J’ai organisé les enregistrements renvoyés par mon select dans un tableau,et pour chacun d’eux j’ai mis un bouton « Supprimer » à la fin,de sorte que l’utilisateur puisse supprimer l’enregistrement si
    Il le souhaite.Lorsque l’utilisateur clique sur le bouton supprimer,une boite de dialogue lui demandant confirmation apparait,s’il clique sur ok il y’a suppression dudit enregistrement sinon rien ne se passe .seulement je ne sais pas comment écrire le code,y’a-t-il quelqu’un qui puisse m’aider avec le code de cet algo ?c’est urgent.merci d’avance.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Suppression d'un enregistrement
    Par charliejo dans le forum Bases de données
    Réponses: 7
    Dernier message: 16/03/2006, 11h13
  2. [VB][rdo] Strategie de suppression massive d'enregistrements
    Par Bicky dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 12/10/2005, 14h12
  3. suppression automatique des enregistrements
    Par abdou.sahraoui dans le forum Langage SQL
    Réponses: 4
    Dernier message: 02/08/2005, 13h45
  4. [VB.NET]Suppression d'un enregistrement dans un DataGrid
    Par San Soussy dans le forum ASP.NET
    Réponses: 4
    Dernier message: 16/06/2005, 10h30
  5. Suppression d'un enregistrement
    Par denisfavre dans le forum IHM
    Réponses: 3
    Dernier message: 04/10/2004, 11h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo