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 :

Requête DELETE qui ne fonctionne pas.. [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é
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2019
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2019
    Messages : 83
    Par défaut Requête DELETE qui ne fonctionne pas..
    Bonjour,

    Je viens demander de l'aide car je n'arrive pas à supprimer une valeur d'une colonne associée à un utilisateur..

    Pour commencer, j'ai une base de donnée comprenant des candidats, avec plusieurs colonnes dont une nommée "id_cv" qui comprend le nom du CV ainsi que son extension par exemple "1.pdf" pour le candidat possédant l'id 1 dans la BDD et tout est fonctionnel, je récupère bien le bon document pour chaque candidat auxquels sont attribués des documents sauf que je n'arrive pas à effectuer la requête DELETE que j'ai relié à un bouton "Supprimer" sur chaque profil de chaque candidat afin de pouvoir supprimer le CV présent dans cette colonne "id_cv" ..

    Code HTML :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <form method="post" action="edit.php">
        <input type="submit" class="btn btn-danger" style="width: 230px;" value="Supprimer" name="supprimer" onclick="return confirm('Êtes-vous sûr de vouloir supprimer le CV de ce candidat ?')"/><?php } ?>
        </div><br/><br/><br/><br/></form>
    Code PHP :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
      if (isset($_POST["supprimer"])) {
          $deletecv = $db->prepare('UPDATE BDD
                            SET id_cv= NULL,
                            WHERE Id= ?');
          $deletecv->execute(array($_POST['id']));
          header('Location: list.php');
      }
    Sachant que j'ai placer un petit input afin de poster l'id que je GET dans l'url de la page, après plusieurs tests, même en plaçant l'id de l'utilisateur dans une variable et en changeant cette requête, cela ne marchait pas..

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="hidden" name="id" value="<?php echo $id; ?>">
    Je vous remercie d'avance,

  2. #2
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Ton bouton supprimer est dans son propre formulaire, donc il faut que l'input hidden soit aussi à l'intérieur du formulaire.
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2019
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2019
    Messages : 83
    Par défaut
    Bonjour Celira, ah d'accord, j'ai tester du coup de rajouter l'input hidden dans le formulaire mais ça ne fonctionne pas.. ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <form method="post" action="edit.php">
        <input type="hidden" name="id" value="<?php echo $id; ?>">
        <input type="submit" class="btn btn-danger" style="width: 230px;" value="Supprimer" name="supprimer" onclick="return confirm('Êtes-vous sûr de vouloir supprimer le CV de ce candidat ?')"/><?php } ?>
        </div><br/><br/><br/><br/>
    </form>
    Au passage, désolé pour le titre "requête DELETE", j'aurais du mettre UPDATE, j'ai oublier que j'avais modifier depuis..

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    Citation Envoyé par StrangerThings Voir le message
    ...plusieurs colonnes dont une nommée "id_cv" qui comprend le nom du CV ainsi que son extension par exemple "1.pdf"...
    Avoir une colonne qui s'appelle "id_cv" alors qu'elle contient le nom du fichier...

    Ce n'est pas faute d'avoir essayé de t'expliquer comment t'y prendre, mais tu n'en as tenu aucun compte.

    Malheureusement, quand tu ne comprends pas ce qu'on t'explique, tu continues sur ta lancée, tête baissée, le nez dans le guidon, sans tenir compte des conseils.
    Comme pour ton "système de tri"...

    Par conséquent : je passe mon tour.
    Bon courage.
    Dernière modification par Invité ; 03/10/2019 à 13h13.

  5. #5
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Tu as d'autres formulaires dans la page ? Essaye de faire var_dump($_POST); dans ta page edit.php pour voir ce qui est réellement reçu (en désactivant la redirection, sinon tu ne vas pas voir grand chose )
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  6. #6
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2019
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2019
    Messages : 83
    Par défaut
    Citation Envoyé par Celira Voir le message
    Tu as d'autres formulaires dans la page ? Essaye de faire var_dump($_POST); dans ta page edit.php pour voir ce qui est réellement reçu (en désactivant la redirection, sinon tu ne vas pas voir grand chose )
    Oui c'est une page edit.php qui me sert à modifier chaque profil :/
    Du coup grâce à toi j'ai pu remarquer que le $_POST['id'] était bel et bien vide dans cette partie du code, du coup j'ai var_dump mon $_GET['id'] qui lui est bien présent et j'ai adapté :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
      if (isset($_POST["Supprimer"])) {
          $deletecv = $db->prepare('UPDATE BDD
                            SET id_cv= NULL,
                            WHERE Id= ?');
          $deletecv->execute($_GET['id']);
          header('Location: list.php');
      }
    Sauf que la redirection n'a pas lieu sûrement car la requête n'a pas lieu, je ne comprends pas d'où viens le problème sachant que je récupère bien l'id

  7. #7
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2019
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2019
    Messages : 83
    Par défaut
    Jreaux j'ai bel et bien supprimer la table CV depuis, et je ne vois pas le problème, j'ai une erreur dans mon code HTML ?

    Et j'imagine bien que la conception n'est pas top mais j'essaye de faire au mieux, tu m'as demandé d'essayer, la plupart du temps comme la recherche multi-critère je ne comprends pas certaines utilités de ton code donc je préfère essayer de coder un petit truc fonctionnel que je comprends en m'aidant d'internet et du forum sans reprendre un système complexe que je n'arrive pas à adapter à ma page :/

  8. #8
    Invité
    Invité(e)
    Par défaut
    1- Si tu as supprimé la table "CV", alors TOUT va bien !
    Dans ce cas, ta conception fonctionne : avec UN seul fichier PDF par user.

    2-
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
          $deletecv->execute($_GET['id']);
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form method="post" action="edit.php">
    Je t'explique, ou tu vas trouver tout seul ?

  9. #9
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2019
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2019
    Messages : 83
    Par défaut
    Mais jreaux je n'ai pas suivi ton astuce mais tout est fonctionnel, je récupère le fichier, je le renomme en id + extension dans ma BDD ainsi que dans un répertoire cv crée au préalable sur mon ftp, quand j'ajoute un cv, c'est fonctionnel, il est bien relié à mon utilisateur et quand je rajoute un cv par dessus, l'ancien cv laisse bien place au nouveau donc pourquoi tout modifier alors qu'il est déjà fonctionnel ?

  10. #10
    Invité
    Invité(e)
    Par défaut
    Ce n'est pas parce que "ça à l'air de marcher" que c'est la bonne méthode / conception.

    Tel que TU as fait, la table "CV" ne sert à rien.
    Autant la supprimer.

    Et APPRENDS à utiliser les formulaires : Les formulaires et PHP(5)
    C'est la base.

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

Discussions similaires

  1. Requête hibernate qui ne fonctionne pas
    Par sheura dans le forum Hibernate
    Réponses: 4
    Dernier message: 28/09/2007, 16h20
  2. requête match qui ne fonctionne pas.
    Par sam01 dans le forum Requêtes
    Réponses: 3
    Dernier message: 29/05/2006, 20h28
  3. [MySQL] Requête update qui ne fonctionne pas
    Par Sylvain245 dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 05/12/2005, 16h40
  4. DELETE qui ne fonctionne pas
    Par pmboutteau dans le forum ASP
    Réponses: 9
    Dernier message: 14/10/2005, 13h50
  5. [SQL] Requête à jointure qui ne fonctionne pas
    Par Bensor dans le forum Langage SQL
    Réponses: 2
    Dernier message: 09/12/2004, 16h10

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