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

Langage PHP Discussion :

checkbox supprimer plusieurs lignes a la fois sur une tableau Html d'une table Mysql


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    412
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 412
    Points : 79
    Points
    79
    Par défaut checkbox supprimer plusieurs lignes a la fois sur une tableau Html d'une table Mysql
    bonsoir,


    Je desire faire un liste de ma table MySql dans un tableau html avec suppression de chaque ligne coché avec checkbox associé a un bouton submit pour confirmer tout les case à cocher.

    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    <?php
     
    /* ------------------ Connexion a la BDD avec login.php ------------------ */
    require ('login.php');
    $link = mysql_connect("$hote", "$login", "$pass") or die("Erreur de connexion...") ; // Connexion à MySQL
    $req = mysql_select_db($bdd, $link) or die("Erreur de connexion...") ; //Sélection de la base de donnée
    /* ------------------ CONNEXION TABLE ------------------ */
    $nom_table = ("liste_comission_1"); 
    ?>
     
     <?php
    /* ------------------ CASE A COCHER ------------------ */
     
    if (isset($_POST['champ'])) 
     
    		  $numero=$_POST['champ']; 
     
     		  $requete = mysql_query("DELETE FROM $nom_table WHERE id = $numero");
     
    if($requete)
     
     
    {
    echo '<div align="center"><font face="arial" size="4" color="red">Article supprimé à la ligne '.$numero.'  ! </font></div> '; 
    }
     else
    { 
    echo '<div align="center"><font face="arial" size="4" color="red">ATTENTION : Aucune case de coché, suppression impossible  ! </font></div> '; 
    }       	 
    ?> 
     
     
     
      <?php
    /* ------------------ A partir d'ici table : Modules X10 ------------------ */
    //$reponse = mysql_query("SELECT * FROM alimentaire "); // Requête SQL
    $reponse = mysql_query("SELECT * FROM $nom_table "); // Requête SQL
    ?>
    </p>
    <p align="center">Liste comission 1 </p>
    <p align="center">Veuillez supprimer vos articles au fur et &agrave; mesure de vos achats. </p>
    <form method="POST">
     
      <div align="center">
      <table width="auto" border="0">
        <tr>
          <th width="auto" bgcolor="#999999" scope="col">Id</th>
            <th width="auto" bgcolor="#999999" scope="col">Choix</th>
            <th width="auto" bgcolor="#999999" scope="col">Articles</th>
          </tr>
        <tr>
          <th scope="row">&nbsp;</th>
            <td>&nbsp;</td>
            <td>&nbsp;</td>
          </tr>
        <?php
    while($donnees = mysql_fetch_array($reponse) ) // boucle pour lister tout ce que contient la table : Alimentaire
    {
    ?>
        <tr>
          <th bgcolor="#CCCCCC" scope="row"><?php echo $donnees["Id"]; ?></th>
            <td bgcolor="#CCCCCC"><input type="checkbox" name="champ[]" value="<?php echo $donnees["Id"]; ?>" /></td>
            <td bgcolor="#CCCCCC"><p align="left"><?php echo $donnees["Article"]; ?></td>
          </tr>
        <?php } //toute la ligne est comprise dans la boucle while ?>
      </table>
      <input type="submit" name"envoyer" value="Supprimer"/>
      </div>
    </form>
     
    <div align="center">
      <script type="text/javascript">
    <!-- Debut  
    function imprime() {
    if (typeof(window.print) != 'undefined')
     { window.print(); }
    } 
     
    // fin-->
    </script> 
      <form id="form1" name="form1" method="post" action="#" onclick="imprime(); return false" >
      <input type="submit" name="envoyer-imprimer" value="imprimer" /></form>
    J'ai bien dit plusieurs cases
    En gros
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <td bgcolor="#CCCCCC"><input type="checkbox" name="champ[]" value="<?php echo $donnees["Id"]; ?>" /></td>
    quel est mon erreur ?

    Merci d'avnce.

  2. #2
    Invité
    Invité(e)
    Par défaut
    Salut

    On ne peut pas te dire où est ton erreur si tu ne nous dis pas ce qui se passe

    Il manque au moins un attribut action à ta balise form, on ne sait pas vers où ton formulaire mène...

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    412
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 412
    Points : 79
    Points
    79
    Par défaut
    Bonsoir,

    Justement il se passe rien.

    Le formulaire doit rester sur la même page.

    Quand je coche plusieurs cases a la fois de mon tableau html, je devrai pouvoir supprimer les lignes coché de mon tableau html , via ma table Mysql qui lorsque je valide le bouton submit, supprimer les ligne de ma table Mysql, mais rien ne marche, pourquoi ?


    J'ai essayé avec ceci ausi :
    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
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    <?php
     
    /* ------------------ Connexion a la BDD avec login.php ------------------ */
    require ('login.php');
    $link = mysql_connect("$hote", "$login", "$pass") or die("Erreur de connexion...") ; // Connexion à MySQL
    $req = mysql_select_db($bdd, $link) or die("Erreur de connexion...") ; //Sélection de la base de donnée
    /* ------------------ CONNEXION TABLE ------------------ */
    $nom_table = ("liste_commission_1"); 
     
     ?>
     
    <?php
    /* ------------------ CASE A COCHER ------------------ */
     
    if (isset($_POST['champ'])) {
        echo "Vous avez choisi de supprimer le ou les article(s) :";
        for ($i = 0, $c = count($_POST['champ']); $i < $c; $i++) {
     
    		$test = $_POST['champ'][$i];
     
        }
    }
     
     
     
     		  $query = mysql_query("DELETE FROM $nom_table WHERE Id=$test ");
    if($query) {
    echo '<div align="center"><font face="arial" size="4" color="red">Vos informations ont été correctement Supprimer à la ligne '.$test.'  ! </font></div> '; 
     
     
    }
     
     
    ?> 
     
     
     
     <?php
     
    /* ------------------ A partir d'ici table : alimentaire Lecture ------------------ */
    $reponse = mysql_query("SELECT * FROM $nom_table "); // Requête SQL
    ?>
     
     
     <form method="POST">
     
    <table width="auto" border="0">
      <tr>
        <th width="10" bgcolor="#999999" scope="col">Id</th>
        <th width="10" bgcolor="#999999" scope="col">Suppression</th>
        <th width="50" bgcolor="#999999" scope="col">Articles</th>
      </tr>
      <tr>
        <th scope="row">&nbsp;</th>
        <td>&nbsp;</td>
        <td>&nbsp;</td>
      </tr>
      <?php
    while($donnees = mysql_fetch_array($reponse) ) // boucle pour lister tout ce que contient la table : Alimentaire
    {
    ?>
      <tr>
        <th bgcolor="#CCCCCC" scope="row"><?php echo $donnees["Id"]; ?></th>
        <td bgcolor="#CCCCCC"><input type="checkbox" name="champ[]" value="<?php echo $donnees["Id"]; ?>" /></td>
        <td bgcolor="#CCCCCC"><?php echo $donnees["Article"]; ?></td>
      </tr>
    <?php } //toute la ligne est comprise dans la boucle while ?>
    </table>
     
     <input type="submit"  name"envoyer" value="Supprimer"/>
    </form>
    Mais je n'y arrive pas, cela me supprime uniquement une case sélectionné, même si j'en coche 2 ou 3, une seule sera supprimer au lieu de toutes les cases sélectionné.

    Pourquoi ?

    Merci.

  4. #4
    Membre régulier
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    412
    Détails du profil
    Informations personnelles :
    Âge : 53
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Décembre 2008
    Messages : 412
    Points : 79
    Points
    79
    Par défaut
    re,

    J'ai trouvé

    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
    <?php
    /* ------------------ CASE A COCHER ------------------ */
     
    if (isset($_POST['champ'])) {
        echo '<div align="center"><font face="arial" size="4" color="red">Vous avez supprimer : </font></div> ';
     
    	for ($i=0;$i<sizeof($_POST['champ']);$i++) {
     
    	$champ[$i] = $_POST['champ'][$i];
    	$numero_article = $_POST['champ'][$i];
     
    	$query2 = mysql_query("SELECT Article FROM $nom_table WHERE Id='$numero_article'");
    	$result_donnees2=mysql_fetch_assoc($query2);
     
     
     
    	echo "<br/><b><div align='center'><font face='arial' size='4' color='red'>L'article  ' " . $result_donnees2["Article"] . " ' de la ligne  ' " . $_POST['champ'][$i] .  " '  ! </font></b> </b></div>";
     
    	$query = 'DELETE FROM liste_comission_1 WHERE id = '. $champ[$i];
    	$result = mysql_query($query)  or die('Erreur SQL ! '.$query.'<br/>'.mysql_error());
     
     
        }
    }
     
     
    ?>
    Merci.

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

Discussions similaires

  1. [Débutant] Button pour supprimer plusieurs lignes à la fois dans Datagridview
    Par jeremyvb11 dans le forum VB.NET
    Réponses: 2
    Dernier message: 10/01/2013, 18h55
  2. [HTML 4.0] Arrière plan continu sur entête et pied d'une tableau HTML
    Par grapheyes dans le forum Balisage (X)HTML et validation W3C
    Réponses: 8
    Dernier message: 24/06/2010, 16h35
  3. VBA supprimer plusieur ligne excel
    Par morgan47 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 20/06/2006, 20h56
  4. [querydataset] supprimer plusieurs lignes
    Par doudine dans le forum JBuilder
    Réponses: 5
    Dernier message: 21/10/2005, 13h21
  5. Supprimer plusieurs lignes d'un DBGrid via Popupmenu?
    Par BVK dans le forum Bases de données
    Réponses: 1
    Dernier message: 02/12/2004, 11h27

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