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 :

Probleme supression de données en utilisant une checkBox [MySQL]


Sujet :

PHP & Base de données

  1. #1
    Membre régulier
    Profil pro
    Ingénieur
    Inscrit en
    Janvier 2009
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur

    Informations forums :
    Inscription : Janvier 2009
    Messages : 209
    Points : 95
    Points
    95
    Par défaut Probleme supression de données en utilisant une checkBox
    Bonsoir ,

    J'ai créer un tableau qui me permet de visualiser une des tables de la base données , j'ai ajouté un " bouton de type ='radio' , et je veux en selectionnant la bouton , je supprime l'enregistrement associé , voila mon code .
    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
    <head>
    <h1>Super Administrateur  </h1>
    </head>
    <?php
    session_start();
    
    if ($_SESSION['username'])
    
    echo " Bienvenue,".$_SESSION['username']."!<br><a href='logout.php'>Logout</a><br><a href='changerpwd.php'>changer de mot de passe</a><br>"."<a href ='Creationdeprofil.php'>Creer un profil</a>";
       else
          die("Vous devez vous connecter !");  
    
    echo"<h1>Interrogation table des users : Tableau </h1><p>";
    
    require_once ('connection.php');
    $sql = "SELECT fullname , username ,password,activated,admin,assistant  FROM t_user ";
    $result = mysql_query ($sql);
    $champs = mysql_num_fields($result);
    $enregistrements = mysql_num_rows($result);
    echo "<p>Nombre d'enregistrements : $enregistrements</p>";
    echo "<table border='1' cellspacing='0'>"; // Début du tableau
    echo "<tr>"; // On crée une ligne
    for ($i = 0;$i < $champs;$i++) {
    $nomChamp = mysql_field_name($result, $i);
    echo "<th>$nomChamp </th>"; }
    echo "<th>Selectionner</th>";
     
    echo "</tr>\n"; // On ferme la ligne
    while ($row = mysql_fetch_assoc($result)) {
    echo "<tr>"; // On crée une ligne
    foreach ($row as $key => $value) {
    
    echo "<td> $value&nbsp;</td>"; 
    
    }
    
    echo "<td><form action ='superadmin.php' method ='POST' ><input type=radio name='maj' value='0'></form></td>";
    echo "</tr>\n"; // On ferme la ligne
    
    }
    echo "</table>\n"; // On ferme le tableau
    echo"<form action ='superadmin.php' method ='POST' ><p>
    <input type='submit' name='supprimer' value ='Supprimer'>
    <input type='submit' name='modifier' value ='Modifier'></form>";
    
    
    
    if ($_POST['supprimer'])
    {
    
    		
    	$requetechange = mysql_query ("
    			 	 DELETE FROM t_user where superadmin='0'");
    			 
    }

    Comment faire pour prendre en compte le "radio " sélectionné dans ma requete SQL ?

    Merci !

  2. #2
    Membre régulier
    Profil pro
    Ingénieur
    Inscrit en
    Janvier 2009
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur

    Informations forums :
    Inscription : Janvier 2009
    Messages : 209
    Points : 95
    Points
    95
    Par défaut Voila le résultat
    Ci-joint l'image de résultat donné par le code précédent ( j'ai ajouté deux champs ) .
    Explication: Mon but est lorsque je sélectionne une case à cocher et je clique sur "supprimer" , l'enregistrement disparaît
    Images attachées Images attachées  

  3. #3
    Membre averti Avatar de Sekigawa
    Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    432
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 432
    Points : 359
    Points
    359
    Par défaut
    Salut,

    Je ne vois pas où est le problème... Tu récupères comment ce que te renvois ta checkbox ?

    Pourrais-t-on avoir le code de ta page en entier ?

    A+
    Cookie : Anciennement petit gâteau sucré, qu'on acceptait avec plaisir. Aujourd'hui : petit fichier informatique drôlement salé, qu'il faut refuser avec véhémence.

  4. #4
    Membre régulier
    Profil pro
    Ingénieur
    Inscrit en
    Janvier 2009
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur

    Informations forums :
    Inscription : Janvier 2009
    Messages : 209
    Points : 95
    Points
    95
    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
    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
    <head>Page du SuperAdministrateur</head>
    <?php
    session_start();
    
      if ($_SESSION['username'])
    
    echo " Bienvenue,".$_SESSION['username']."!<br><a href='logout.php'>Logout</a><br><a href='changerpwd.php'>changer de mot de passe</a><br>"."<a href ='Creationdeprofil.php'>Creer un profil</a>";
       else
          die("Vous devez vous connecter !");  
    
    echo"<h1>Interrogation table des users : Tableau </h1><p>";
    
    require_once ('connection.php');
    $sql = "SELECT fullname , username ,password,activated,admin,assistant  FROM t_user where superadmin='0' ";
    $result = mysql_query ($sql);
    $champs = mysql_num_fields($result);
    $enregistrements = mysql_num_rows($result);
    echo "<p>Nombre d'enregistrements : $enregistrements</p>";
    echo "<table border='1' cellspacing='0'>"; // Début du tableau
    echo "<tr>"; // On crée une ligne
    echo "<th>Selectionner</th>";
    for ($i = 0;$i < $champs;$i++) {
    $nomChamp = mysql_field_name($result, $i);
    
    echo "<th>$nomChamp </th>"; }
    echo "<th>Modifier</th>";
    echo "<th>Supprimer</th>";
    echo "</tr>\n"; // On ferme la ligne
    // parcours 
    while ($row = mysql_fetch_assoc($result)) {
    
    echo "<tr>"; // On crée une ligne
    echo "<td><center><form action ='superadmin.php' method ='POST' ><input type=checkbox name='maj[]' value='' ></center></form></td>";
    		
    //affiche ce qui a ete parcouru
    foreach ($row as $key => $value) {
    
    echo "<td> $value&nbsp;</td>"; 
    
    }
    
    echo "<td><img src='images/b_edit.png'></form></td>";
    echo "<td><img src='images/b_drop.png'></form></td>";
    
    echo "</tr>\n"; // On ferme la ligne
    
    }
    echo "</table>\n"; // On ferme le tableau
    echo"<form action ='superadmin.php' method ='POST' ><p>
    <input type='submit' name='supprimer' value ='Supprimer'>
    <input type='submit' name='modifier' value ='Modifier'></form>";
    
    // en attente ....  
    
    if ($_POST['supprimer'])
    {
       if($_POST['maj[]']='checked')
    		{
    	$requetechange = mysql_query ("
    			 	 DELETE FROM t_user where superadmin='0'");
    		}	 
    }
    
    ?>
    Je ne sais pas comment récupérer la valeur de la checkbox ( je suis débutant en PHP ) .
    Le problème est en couleur rouge ! . Merci

  5. #5
    Membre averti Avatar de Sekigawa
    Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    432
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 432
    Points : 359
    Points
    359
    Par défaut
    Yop !

    De cette manière :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <?php
    for ($i=0;$i<count($_POST['maj']);$i++)
    {
    $majcheck = $_POST['maj'][$i];
    echo $majcheck;
    }
    ?>
    ça devrait fonctionné, tu peux aussi le faire avec un foreach

    ++
    Cookie : Anciennement petit gâteau sucré, qu'on acceptait avec plaisir. Aujourd'hui : petit fichier informatique drôlement salé, qu'il faut refuser avec véhémence.

  6. #6
    Membre régulier
    Profil pro
    Ingénieur
    Inscrit en
    Janvier 2009
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur

    Informations forums :
    Inscription : Janvier 2009
    Messages : 209
    Points : 95
    Points
    95
    Par défaut
    Merci ... je vais tester et vous rendre la réponse !

  7. #7
    Membre régulier
    Profil pro
    Ingénieur
    Inscrit en
    Janvier 2009
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur

    Informations forums :
    Inscription : Janvier 2009
    Messages : 209
    Points : 95
    Points
    95
    Par défaut
    Ça n'a pas fonctionné , comme je suis un débutant , il faut me préciser comment adapter ce code .

  8. #8
    Membre averti Avatar de Sekigawa
    Profil pro
    Développeur Web
    Inscrit en
    Mars 2008
    Messages
    432
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Mars 2008
    Messages : 432
    Points : 359
    Points
    359
    Par défaut
    Dans le code que tu montres

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    echo "<td><center><form action ='superadmin.php' method ='POST' ><input type=checkbox name='maj[]' value='' ></center></form></td>";
    Il faut que tu mettes quelque chose dans ton value sinon c'est sûr rien ne sera retourné

    De plus tu mets ton "form" dans ta boucle de traitement... Il faut le mettre en dehors sinon tu répètes ton formulaire autant de fois que t'as de résultats

    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
    <head>Page du SuperAdministrateur</head>
    <?php
    session_start();
    
      if ($_SESSION['username'])
    
    echo " Bienvenue,".$_SESSION['username']."!<br><a href='logout.php'>Logout</a><br><a href='changerpwd.php'>changer de mot de passe</a><br>"."<a href ='Creationdeprofil.php'>Creer un profil</a>";
       else
          die("Vous devez vous connecter !");  
    
    echo"<h1>Interrogation table des users : Tableau </h1><p>";
    
    require_once ('connection.php');
    $sql = "SELECT fullname , username ,password,activated,admin,assistant  FROM t_user where superadmin='0' ";
    $result = mysql_query ($sql);
    $champs = mysql_num_fields($result);
    $enregistrements = mysql_num_rows($result);
    echo "<p>Nombre d'enregistrements : $enregistrements</p>";
    echo "<form action ='superadmin.php' method ='POST' ><table border='1' cellspacing='0'>"; // Début du tableau
    echo "<tr>"; // On crée une ligne
    echo "<th>Selectionner</th>";
    for ($i = 0;$i < $champs;$i++) {
    $nomChamp = mysql_field_name($result, $i);
    
    echo "<th>$nomChamp </th>"; }
    echo "<th>Modifier</th>";
    echo "<th>Supprimer</th>";
    echo "</tr>\n"; // On ferme la ligne
    // parcours 
    while ($row = mysql_fetch_assoc($result)) {
    
    echo "<tr>"; // On crée une ligne
    echo "<td><center><input type=checkbox name='maj[]' value='".$row['fullname']."' ></center></td>";
    		
    //affiche ce qui a ete parcouru
    foreach ($row as $key => $value) {
    
    echo "<td> $value&nbsp;</td>"; 
    
    }
    
    echo "<td><img src='images/b_edit.png'></form></td>";
    echo "<td><img src='images/b_drop.png'></form></td>";
    
    echo "</tr>\n"; // On ferme la ligne
    
    }
    echo "</table>\n"; // On ferme le tableau
    echo"
    <input type='submit' name='supprimer' value ='Supprimer'>
    <input type='submit' name='modifier' value ='Modifier'></form>";
    
    // en attente ....  
    
    if ($_POST['supprimer'])
    {
       if($_POST['maj[]']='checked')
    		{
    	$requetechange = mysql_query ("
    			 	 DELETE FROM t_user where superadmin='0'");
    		}	 
    }
    
    ?>
    Testes ça

    A moins qu'une erreur est apparue ?
    Cookie : Anciennement petit gâteau sucré, qu'on acceptait avec plaisir. Aujourd'hui : petit fichier informatique drôlement salé, qu'il faut refuser avec véhémence.

  9. #9
    Membre régulier
    Profil pro
    Ingénieur
    Inscrit en
    Janvier 2009
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur

    Informations forums :
    Inscription : Janvier 2009
    Messages : 209
    Points : 95
    Points
    95
    Par défaut
    Lorsque je coche une case pour la supprimer , comment dois-je faire ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    if ($_POST['supprimer'])
    {
       if($_POST['maj[]']==$row['fullname'])
    		{
    	$requetechange = mysql_query ("
    			 	 DELETE FROM t_user where superadmin='0'");
    		}	 
    }
    Je mets cette portion de code en bas ! ... Ça ne marche pas ! .
    La je ne sais pas comment adapter ma requête de telle manière a prendre en compte que le enregistrement de la case cochée .

  10. #10
    Membre régulier
    Profil pro
    Ingénieur
    Inscrit en
    Janvier 2009
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur

    Informations forums :
    Inscription : Janvier 2009
    Messages : 209
    Points : 95
    Points
    95
    Par défaut
    Je n'ai pas encore trouvé de solution ! . J'attends votre aide ! .

  11. #11
    Membre régulier
    Profil pro
    Ingénieur
    Inscrit en
    Janvier 2009
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur

    Informations forums :
    Inscription : Janvier 2009
    Messages : 209
    Points : 95
    Points
    95
    Par défaut
    J'ai pu résolver une partie du problème mais , la case à cocher ne marche pas !

  12. #12
    Membre régulier
    Profil pro
    Ingénieur
    Inscrit en
    Janvier 2009
    Messages
    209
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur

    Informations forums :
    Inscription : Janvier 2009
    Messages : 209
    Points : 95
    Points
    95
    Par défaut
    Finalement , j'ai pu régler le problème !!

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

Discussions similaires

  1. [MySQL] probleme supression des données via un id auto increment
    Par sooprano dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 22/02/2010, 11h10
  2. utiliser une CheckBox créée dynamiquement
    Par duthooma dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 23/08/2008, 21h29
  3. Réponses: 10
    Dernier message: 11/11/2007, 15h18
  4. envoyer des données par rapport à une checkbox
    Par dudu134 dans le forum Langage
    Réponses: 2
    Dernier message: 18/05/2007, 17h57
  5. [ODBC] Utiliser une base de données Access sans les MFC
    Par Higestromm dans le forum Bases de données
    Réponses: 6
    Dernier message: 15/03/2005, 21h37

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