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

 MySQL Discussion :

Suppression d'enregistrement mySQL


Sujet :

MySQL

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    31
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 31
    Points : 27
    Points
    27
    Par défaut Suppression d'enregistrement mySQL
    Bonjour, débutant PHP je me retrouve confronter a un probleme.
    J'ai developpé un script permetant l'ajout d'un enregistrement dans une base mySQL qui fonctionne a merveille.

    Je me suis alors mis au travail pour creer un script qui cette fois-ci supprime un enregistrement de la bdd.

    VOici le code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <form action="validedelete.php" method="post">
          <span class="Style14">Effacer le ban numéro :</span>
            <input type="text" name="ban_id:"> 
          <input name="submit" type="submit" class="Style14" value="Effacer le ban">
    </form>
    Voici le traitement dans ma page validedelete.php

    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
    <?
    /*
    On se connecte et on choisi la base de données
    */
    mysql_pconnect('localhost','user', '*****') or die ("Impossible de se connecter à la base de donnée");
    mysql_select_db('lfs-teamcom') or die("Impossible de sélectionner la base de données");
     
     
    if (!isset($ban_id)) {
      echo "<p>Aucun enregistrement à supprimer.</p>";
    } else {
      $query_string = "DELETE FROM banlist WHERE ban_id=$id";
      $query=mysql_query($query_string);
      if ($query) {
        echo "<p>L'enregistrement a été effacé</p>";
      } else {
        echo "<p>Problème lors de la suppression</p>";
        echo "<p>" . mysql_error() . "</p>";
      }
    }
    ?>
    Les champs de la base de données sont

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ban_id (clé primaire, auto_increment)
    pseudo
    steam_id
    raison
    admin
    Je debute depuis peu en PHP. Je lis des tonnes de tutos mais tout n'est pas forcement clair ^^

    Merci de détaillé la ou je me suis trompé

    Cordialement
    Je n'invente rien, je redécouvre.....(Rodin)
    [Faq VB], [Source VB]
    http://membres.lycos.fr/bozec/bansms.gif

  2. #2
    Membre expérimenté
    Avatar de guitou12
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 077
    Points : 1 561
    Points
    1 561
    Par défaut
    Tu as des erreurs ou ça fonctionne ?
    Ex développeur Php / J2EE.
    Actuellement reconverti à SharePoint 2013

    Mon blog SP 2013

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    31
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 31
    Points : 27
    Points
    27
    Par défaut
    Non le formulaire de suppression ne fonctionne pas.

    Il me dit

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Aucun enregistrement à supprimer.
    Je precise bien l'id de l'enregistrement a supprimer pourtant et lors de la soumission aucun message d'erreur .. pourtant l'enregistrement est toujours la.
    Je n'invente rien, je redécouvre.....(Rodin)
    [Faq VB], [Source VB]
    http://membres.lycos.fr/bozec/bansms.gif

  4. #4
    Membre éprouvé
    Avatar de SnakemaN
    Profil pro
    Bidouille-tout Android
    Inscrit en
    Juillet 2006
    Messages
    871
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Bidouille-tout Android

    Informations forums :
    Inscription : Juillet 2006
    Messages : 871
    Points : 1 118
    Points
    1 118
    Par défaut
    Bonjour,

    Deja premier conseils,
    - recupere proprement la variable postée.sans utiliser de variable super globale
    - Tu ne concatenne pas bien les variable dans ta requete
    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
    23
    24
    25
    26
    27
    <?
    /*
    On se connecte et on choisi la base de données
    */
    mysql_pconnect('localhost','user', '') or die ("Impossible de se connecter à la base de donnée");
    mysql_select_db('lfs-teamcom') or die("Impossible de sélectionner la base de données");
    
    [B]if(isset($_POST['ban_id']))
    $banId = $_POST['ban_id'];
    else
    $banId = NULL[/B]
    
     
    if (banId == NULL) {
    echo "<p>Aucun enregistrement à supprimer.</p>";
    } else {
    $query_string = "DELETE FROM banlist WHERE ban_id=[B]'".$id."" [/B]";
    $query=mysql_query($query_string)or die(mysql_error());
    if ($query) {
    echo "<p >L'enregistrement a été effacé</p>";
    } else {
    echo "<p>Problème lors de la suppression</p>";
    echo "<p>" . mysql_error() . "</p>";
    }
    }
    ?>
    Colorez votre code PHP sur les forums grâce à Developpez.com

    Voila essayes deja ca, ca devrais marcher comme cela...
    C'est le signe d'un fou, qu'avoir honte d'apprendre
    Ubuntu 10.04 Lucid Lynx @home
    LE guide libre Linux & Ubuntu pour tous : Simple comme Ubuntu

  5. #5
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    if (!isset($_POST['ban_id'])) {
      echo "<p>Aucun enregistrement à supprimer.</p>";
    } else {
      $query_string = "DELETE FROM banlist WHERE ban_id=".$_POST['ban_id']
    ;
      $query=mysql_query($query_string);
      if ($query) {
        echo "<p>L'enregistrement a été effacé</p>";
      } else {
        echo "<p>Problème lors de la suppression</p>";
        echo "<p>" . mysql_error() . "</p>";
      }
    }
    Comme ceci ?

  6. #6
    Membre éprouvé
    Avatar de SnakemaN
    Profil pro
    Bidouille-tout Android
    Inscrit en
    Juillet 2006
    Messages
    871
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Bidouille-tout Android

    Informations forums :
    Inscription : Juillet 2006
    Messages : 871
    Points : 1 118
    Points
    1 118
    Par défaut

    Le BBcode c'est bien mais des fois...
    C'est le signe d'un fou, qu'avoir honte d'apprendre
    Ubuntu 10.04 Lucid Lynx @home
    LE guide libre Linux & Ubuntu pour tous : Simple comme Ubuntu

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    31
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 31
    Points : 27
    Points
    27
    Par défaut
    @SnakemaN

    Je ne comprend pas ton code (newbie quand tu nous tiens) (je colorise mon code la prochaine fois)

    @Kerod

    TOujours le même résultat, a savoir

    Aucun enregistrement a supprimer.
    Tu peux voir le script a cette adresse => http://lfs-team.com/e107_files/banlist.php
    Je n'invente rien, je redécouvre.....(Rodin)
    [Faq VB], [Source VB]
    http://membres.lycos.fr/bozec/bansms.gif

  8. #8
    Membre expérimenté
    Avatar de guitou12
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 077
    Points : 1 561
    Points
    1 561
    Ex développeur Php / J2EE.
    Actuellement reconverti à SharePoint 2013

    Mon blog SP 2013

  9. #9
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    31
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 31
    Points : 27
    Points
    27
    Par défaut
    Oui effectivement pas malin de ma part.

    Maintenant j'ai cette erreur

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Problème lors de la suppression
     
    You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
    Code :
    <?
    mysql_pconnect
    ('localhost','user', '') or die ("Impossible de se connecter à la base de donnée");
    mysql_select_db('lfs-teamcom') or die("Impossible de sélectionner la base de données");

    if (!isset(
    $_POST&#91;'ban_id'])) {
    &#160;&#160;echo
    "<p>Aucun enregistrement à supprimer.</p>";
    } else {
    &#160;&#160;
    $query_string = "DELETE FROM banlist WHERE ban_id=".$_POST&#91;'ban_id']
    ;
    &#160;&#160;
    $query=mysql_query($query_string);
    &#160;&#160;if (
    $query) {
    &#160;&#160;&#160;&#160;&#160;&#160;echo
    "<p>L'enregistrement a été effacé</p>";
    &#160;&#160;} else {
    &#160;&#160;&#160;&#160;&#160;&#160;echo
    "<p>Problème lors de la suppression</p>";
    &#160;&#160;&#160;&#160;&#160;&#160;echo
    "<p>" . mysql_error() . "</p>";
    &#160;&#160;}
    }
    ?>
    Colorez votre code PHP sur les forums grâce à Developpez.com
    Je n'invente rien, je redécouvre.....(Rodin)
    [Faq VB], [Source VB]
    http://membres.lycos.fr/bozec/bansms.gif

  10. #10
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Ca vient de ton champ post il doit etre vide..Vérifies bien qu'il y a un contenu

  11. #11
    Membre éprouvé
    Avatar de SnakemaN
    Profil pro
    Bidouille-tout Android
    Inscrit en
    Juillet 2006
    Messages
    871
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Bidouille-tout Android

    Informations forums :
    Inscription : Juillet 2006
    Messages : 871
    Points : 1 118
    Points
    1 118
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $query_string = "DELETE FROM banlist WHERE ban_id='".$_POST['ban_id']."' ";
    Citation Envoyé par fanta agrum
    Je ne comprend pas ton code (newbie quand tu nous tiens) (je colorise mon code la prochaine fois)
    c'est normal c'est le BBcode qui fait des siennes, c'est normal ce n'est qu' un bébé (<- Ultimate Joke Inside )
    C'est le signe d'un fou, qu'avoir honte d'apprendre
    Ubuntu 10.04 Lucid Lynx @home
    LE guide libre Linux & Ubuntu pour tous : Simple comme Ubuntu

  12. #12
    Membre expérimenté
    Avatar de guitou12
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 077
    Points : 1 561
    Points
    1 561
    Par défaut
    C'est laborieux tout ça, révise un peu ton html

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form action="validedelete.php" method="$_POST">
    --> method="post"



    EDIT: tu avais juste sur ta 1ère version pourquoi avoir changé ?
    Ex développeur Php / J2EE.
    Actuellement reconverti à SharePoint 2013

    Mon blog SP 2013

  13. #13
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    Citation Envoyé par SnakemaN
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $query_string = "DELETE FROM banlist WHERE ban_id="'.$_POST['ban_id'].'" ";
    Ce serait mieux si tu faisais le contraire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $query_string = "DELETE FROM banlist WHERE ban_id='".$_POST['ban_id']."' ";

  14. #14
    Membre éprouvé
    Avatar de SnakemaN
    Profil pro
    Bidouille-tout Android
    Inscrit en
    Juillet 2006
    Messages
    871
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Bidouille-tout Android

    Informations forums :
    Inscription : Juillet 2006
    Messages : 871
    Points : 1 118
    Points
    1 118
    Par défaut
    Citation Envoyé par Kerod
    Ce serait mieux si tu faisais le contraire
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $query_string = "DELETE FROM banlist WHERE ban_id='".$_POST['ban_id']."' ";
    Qui qui me parle ??
    C'est le signe d'un fou, qu'avoir honte d'apprendre
    Ubuntu 10.04 Lucid Lynx @home
    LE guide libre Linux & Ubuntu pour tous : Simple comme Ubuntu

  15. #15
    Inactif  
    Avatar de Kerod
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    11 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 11 672
    Points : 20 778
    Points
    20 778
    Par défaut
    $query_string = "DELETE FROM banlist WHERE ban_id="'.$_POST['ban_id'].'" ";
    Les quotes doivent être à l'intérieur...Pas d'accord ??

  16. #16
    Membre expérimenté
    Avatar de guitou12
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 077
    Points : 1 561
    Points
    1 561
    Par défaut
    T'as une balise </form> de trop qui traine en fin de page !!!
    Ex développeur Php / J2EE.
    Actuellement reconverti à SharePoint 2013

    Mon blog SP 2013

  17. #17
    Membre expérimenté
    Avatar de guitou12
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 077
    Points : 1 561
    Points
    1 561
    Par défaut
    Ce qu'à écrit Snakeman est juste mais ce qu'à cité Kerod est faux.... qui des 2 a raison ?

    Il me semble que
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $query_string = "DELETE FROM banlist WHERE ban_id='".$_POST['ban_id']."' ";
    est la bonne réponse, ceci dit si son ID est un int c'est un peu inutile !
    Ex développeur Php / J2EE.
    Actuellement reconverti à SharePoint 2013

    Mon blog SP 2013

  18. #18
    Membre éprouvé
    Avatar de SnakemaN
    Profil pro
    Bidouille-tout Android
    Inscrit en
    Juillet 2006
    Messages
    871
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Bidouille-tout Android

    Informations forums :
    Inscription : Juillet 2006
    Messages : 871
    Points : 1 118
    Points
    1 118
    Par défaut
    Et puis je ne sais pas le niveau de securité voulu, mais je mettrai un petit htmlentities()
    Au cas ou...
    C'est le signe d'un fou, qu'avoir honte d'apprendre
    Ubuntu 10.04 Lucid Lynx @home
    LE guide libre Linux & Ubuntu pour tous : Simple comme Ubuntu

  19. #19
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    31
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Décembre 2004
    Messages : 31
    Points : 27
    Points
    27
    Par défaut
    @guitou : Je m'en sort comme je peut dsl
    @snakeman : htmlentities() connais pas du tout (j'ai déja du mal avec un simple formulaire si tu me donne la marche a suivre

    Donc je récapitule mon code formulaire et traitement :

    Formulaire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <form action="validedelete.php" method="post">
      <p><span class="Style14">Effacer le ban numéro :</span>
          <input type="text" name='ban_id'>   
     
        <input name="submit" type="submit" class="Style14" value="Effacer le ban">
      </p>
    </form>
    traitement (validedelete.php) :

    <?
    /* On se connecte et on choisi la base de données */
    mysql_pconnect('localhost','Coyote', '*****')
    or die (
    "Impossible de se connecter à la base de donnée");
    mysql_select_db('lfs-teamcom') or die("Impossible de sélectionner la base de données");
    if(isset(
    $_POST['ban_id']))
    $banId = $_POST['ban_id'];
    else
    $banId = NULL
    if (banId == NULL)
    { echo
    "<p>Aucun enregistrement à supprimer.</p>";
    } else {
    $query_string = "DELETE FROM banlist WHERE ban_id="'.$_POST['ban_id'].'" ";
    $query=mysql_query($query_string)or die(mysql_error());
    if (
    $query) { echo "<p >L'enregistrement a été effacé</p>";
    } else {
    echo
    "<p>Problème lors de la suppression</p>";
    echo
    "<p>" . mysql_error() . "</p>";
    }
    }
    ?>
    Colorez votre code PHP sur les forums grâce à Developpez.com
    Je n'invente rien, je redécouvre.....(Rodin)
    [Faq VB], [Source VB]
    http://membres.lycos.fr/bozec/bansms.gif

  20. #20
    Membre expérimenté
    Avatar de guitou12
    Homme Profil pro
    Inscrit en
    Juillet 2006
    Messages
    1 077
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 1 077
    Points : 1 561
    Points
    1 561
    Par défaut
    C'est sur que si tu te relis pas....

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if ($banId == NULL)
    { echo "<p>Aucun enregistrement à supprimer.</p>";
    } else {
    $query_string = "DELETE FROM banlist WHERE ban_id='".$_POST['ban_id']."' ";
    Ex développeur Php / J2EE.
    Actuellement reconverti à SharePoint 2013

    Mon blog SP 2013

+ Répondre à la discussion
Cette discussion est résolue.
Page 1 sur 3 123 DernièreDernière

Discussions similaires

  1. [MySQL] Suppression d'enregistrements MySQL abusive, sans requête associée
    Par IGalaxy dans le forum PHP & Base de données
    Réponses: 8
    Dernier message: 29/03/2009, 19h49
  2. Comparer deux enregistrements mysql lors d'un update ?
    Par zevince dans le forum SQL Procédural
    Réponses: 4
    Dernier message: 03/02/2006, 16h56
  3. Réponses: 3
    Dernier message: 01/12/2005, 10h17
  4. Réponses: 2
    Dernier message: 28/11/2005, 10h12
  5. Réponses: 6
    Dernier message: 11/10/2004, 15h43

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