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 :

[PHP/SQL] Supprimer une ligne d'un tableau générer par SQL [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Novembre 2018
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Novembre 2018
    Messages : 7
    Par défaut [PHP/SQL] Supprimer une ligne d'un tableau générer par SQL
    Bonjour,

    Je suis actuellement sur un petit développement d'une application qui gérer les absences.

    Je génére un tableau depuis SQL. J'ai rajouter un bouton supprimer au bout de chaque ligne en web mais je n'arrive pas a prendre l'id de la ligne en question en cliquant sur le bouton supprimer. Comment je peut stocker la valeur de l'id dans le bouton supprimer de la ligne ?
    j'avais penser à ça mais cela ne fonctionne pas :
    Nom : Capture.PNG
Affichages : 4406
Taille : 31,0 Ko

    Merci de votre réponse rapide les amies.

  2. #2
    Expert confirmé
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Billets dans le blog
    12
    Par défaut
    Citation Envoyé par Remysideways Voir le message
    Merci de votre réponse rapide les amies.
    J'peux pas répondre donc

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

    1- merci de copier-coller le code dans le contenu du message (PAS de copie d'écran).

    2- Fais un var_dump( $_POST['id']); pour voir ce qu'il contient.

    3- Prépare correctement la requête.

  4. #4
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 502
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 502
    Par défaut
    Citation Envoyé par rawsrc Voir le message
    J'peux pas répondre donc
    Sauf si tu acceptes ton côté féminin , pour ma part c'est bon

    Sinon, je ne comprend pourquoi tu fais une boucle

    Car dans ton tableau tu dois avoir un bouton basé sur un <a href="Mondelete.php?id=????" et du coup tu supprime cette ligne avant de la rafraîchir

  5. #5
    Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Novembre 2018
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Novembre 2018
    Messages : 7
    Par défaut
    Merci de vos réponses. Je vous redis ça quand je testerais.
    La boucles je l'es fait car le bouton supprimer est ecris qu'une fois :
    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
     //DATE_FORMAT(Datedeb, "%d-%m-%Y"),DATE_FORMAT(Datefin, "%d-%m-%Y") 
                  $reponse = $bdd->query("SELECT id,MATRICULE,TypeAbsence,Datedeb ,Datefin,Checkbox,commentaire FROM typeabsencetab order by MATRICULE");  //Reponse = a la selection de tous dans la table2 et la stocker dans reponse 
                  while ($donnees = $reponse->fetch()) {  
                           $datedeb = $donnees['Datedeb'];
                           $datefin = $donnees['Datefin'];
                           $mat = $donnees['MATRICULE'];
                           $com = $donnees['commentaire'];
                 $id = $donnees['id'];
                  //var_dump($donnees) //stocker l'information de reponse, fetch (attrape) et la mes dans les données 
                ?>
                <tr>  
                  <input name="id[]" type="hidden" value="<?php echo $id; ?>"/>
                  <td> <?= $donnees['MATRICULE'] ?> </td>
                    <!-- Nous demandons dans donnée Le MATRICULE qui se trouve dans la typeabsenceTAB -->
                  <td> <?= $donnees['TypeAbsence'] ?> </td> <!-- Nous demandons dans donnée Le MATRICULE qui se trouve dans la typeabsenceTAB -->
                  <td> <?=  date_format(new DateTime($datedeb),"d/m/Y") ?> </td> <!-- Nous demandons dans donnée Le MATRICULE qui se trouve dans la typeabsenceTAB -->
                  <td> <?= date_format(new DateTime($datefin),"d/m/Y") ?> </td> 
                  <td> <?= $donnees['Checkbox'] ?><input type="checkbox" name="check[]" value="1-_-<?php echo $id; ?>" id="bt" <?php if($donnees['Checkbox']){ ?>checked <?php }?>/></td>
                  <td> <?= $donnees['commentaire']?></td>
                   <td> <button type="button" name="Supprimer" value="Supprimer" class="btn btn-danger">Supprimer</button></a> </td>

  6. #6
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 502
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 502
    Par défaut
    J'ai un peu de mal là

    Vous faites un tableau ou un formulaire ?

    Je pense que vous mélangez le tout

    si c'est un tableau et que la dernière cellule de chaque ligne est un bouton supprimer, alors vous devez faire comme ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     <tr>  
                  <input name="id[]" type="hidden" value="<?php echo $id; ?>"/>
                  <td> <?= $donnees['MATRICULE'] ?> </td>
                    <!-- Nous demandons dans donnée Le MATRICULE qui se trouve dans la typeabsenceTAB -->
                  <td> <?= $donnees['TypeAbsence'] ?> </td> <!-- Nous demandons dans donnée Le MATRICULE qui se trouve dans la typeabsenceTAB -->
                  <td> <?=  date_format(new DateTime($datedeb),"d/m/Y") ?> </td> <!-- Nous demandons dans donnée Le MATRICULE qui se trouve dans la typeabsenceTAB -->
                  <td> <?= date_format(new DateTime($datefin),"d/m/Y") ?> </td> 
                  <td> <?= $donnees['Checkbox'] ?><input type="checkbox" name="check[]" value="1-_-<?php echo $id; ?>" id="bt" <?php if($donnees['Checkbox']){ ?>checked <?php }?>/></td>
                  <td> <?= $donnees['commentaire']?></td>
                   <td> <a href="delete.php?id=<?php echo $id ?>"class="btn btn-danger">Supprimer</a> </td>

  7. #7
    Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Novembre 2018
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Novembre 2018
    Messages : 7
    Par défaut
    Merci donc je doit faire un fichier delete.php avec ma requete qui reprend le $id ? et me renvoie sur ma page apres ?

  8. #8
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 502
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 502
    Par défaut
    C'est juste un exemple.

    Vous nommer votre fichier comme vous voulez et pas besoin de faire de boucle.
    A la fin du traitement il faut revenir sur votre tableau

  9. #9
    Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Novembre 2018
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Novembre 2018
    Messages : 7
    Par défaut
    D'acccord,

    j'ai écris ça suite au bouton href :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    <?php
     {
            $bdd = new PDO('mysql:host=localhost;dbname=rhtab;charset=utf8', 'root', '');
          }
     
      $sql='DELETE FROM typeabsencetab WHERE id = '.$id.'';
                     $req = $bdd ->prepare($sql);
                     $r = $req->execute();
    				 //header("location:Toutabsences.php");
    ?>
    j'ai mis le header en commentaire car j'ai eu une erreur
    Notice: Undefined variable: id in C:\ApplisZEFAL\Applirh\delete.php on line 6
    Je dois mal récupérer la variable $id je suppose ?

  10. #10
    Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Novembre 2018
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Novembre 2018
    Messages : 7
    Par défaut
    ça vien d'effacer toute ma base Oo

  11. #11
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 502
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 502
    Par défaut
    Version propre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
     
    <?php
     
      // on est d'accord que $id = $_GET['id']
     
      $bdd = new PDO('mysql:host=localhost;dbname=rhtab;charset=utf8', 'root', '');
     
      $sql='DELETE FROM typeabsencetab WHERE id = ?';
      $req = $bdd ->prepare($sql);
      $r = $req->execute([$id]);

  12. #12
    Modérateur

    Avatar de MaitrePylos
    Homme Profil pro
    DBA
    Inscrit en
    Juin 2005
    Messages
    5 502
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : Belgique

    Informations professionnelles :
    Activité : DBA
    Secteur : Service public

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 502
    Par défaut
    Citation Envoyé par Remysideways Voir le message
    ça vien d'effacer toute ma base Oo
    Alors c'est que tu fais autre chose.

  13. #13
    Membre du Club
    Homme Profil pro
    Lycéen
    Inscrit en
    Novembre 2018
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 26
    Localisation : France, Eure et Loir (Centre)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Novembre 2018
    Messages : 7
    Par défaut
    Citation Envoyé par MaitrePylos Voir le message
    Alors c'est que tu fais autre chose.
    MERCI de ton aide ça fonctionne !!

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

Discussions similaires

  1. supprimer une ligne d'un tableau html par double click
    Par s.rais dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 06/10/2013, 11h30
  2. Supprimer une ligne dans un tableau
    Par Asdorve dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 28/06/2007, 15h14
  3. Réponses: 1
    Dernier message: 24/04/2007, 17h20
  4. [Conception] Supprimer une ligne d'un tableau à partir d'un CHECKBOX
    Par snakejl dans le forum PHP & Base de données
    Réponses: 71
    Dernier message: 30/05/2006, 08h43
  5. supprimer une ligne dans un tableau
    Par sandball22 dans le forum C++Builder
    Réponses: 9
    Dernier message: 16/05/2006, 21h53

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