Checkbox et base de données [Résolu]

Signaler
Messages postés
163
Date d'inscription
jeudi 15 juillet 2004
Statut
Membre
Dernière intervention
27 janvier 2016
-
Messages postés
58
Date d'inscription
dimanche 12 décembre 2004
Statut
Membre
Dernière intervention
21 juin 2006
-
Bonjour à tous,

J'ai un pproblème que j'arrive pas à régler, comment supprimer des enregistrements d'une base de données en utilisant des cases à cocher
.

merci

@ -:) Zebra

9 réponses

Messages postés
163
Date d'inscription
jeudi 15 juillet 2004
Statut
Membre
Dernière intervention
27 janvier 2016

Enfin j'ai pu regler mon problème

il fallait que je procède comme suit:

<form name="form1" method="post" action="supprimer.php">      
 ">
</form>
et pour cette partie ya aucun pb

mais dans la page de suppression, il faut mettre:

$nbr_choix=$_POST['delete'];
$total=count($nbr_choix);
  for($i=0;$i<$total;$i++)
   {
        echo $nbr_choix[$i]; // affiche le contenu des checkboxs
   }


 Merci mes amis pour vos réponses

@ -:) Zebra
Messages postés
163
Date d'inscription
jeudi 15 juillet 2004
Statut
Membre
Dernière intervention
27 janvier 2016

ou bien

if (!empty($_POST[delete]))
 {
foreach ($_POST[delete] as $mon_choix)
            {
            echo "
".$mon_choix; //affiche le contenu des checkbox
            }
}

@ -:) Zebra
Messages postés
58
Date d'inscription
dimanche 12 décembre 2004
Statut
Membre
Dernière intervention
21 juin 2006

Salut,

tien c marrant je vien d'en faire un truc comme ca.

j'ai mi pour chaque checkbox associée à un enregistrement le même nom (un tableau) donc ca donne :

Après en php tu récupère le tableau des checkbox:
$_POST['suppr'][0]//ca c'est la value d'une des cases qui ont été cochées

Ce qui est intéressant c'est que dans ce tableau il n'y a que les value des cases qui ont été cochées
Messages postés
10839
Date d'inscription
lundi 24 février 2003
Statut
Modérateur
Dernière intervention
2 mars 2010
23
Hello,

peut-être que si tu disais à quel problème tu te heurtes...?
Enfin, j'ai ma petite idée quand même :
ne pas oublier qu'une checkbox renvoie la valeur qu'on lui a attribuée dans value="xxx" quand elle est cochée...et qu'elle n'existe PAS quand elle n'est pas cochée.
Donc avec un formulaire en post :

Si elle est cochée, $_POST['test'] vaudra 1. Si elle n'est pas coché, isset ($_POST['test']) renverra false : $_POST['test'] n'existera pas, quoi.
Messages postés
163
Date d'inscription
jeudi 15 juillet 2004
Statut
Membre
Dernière intervention
27 janvier 2016

Merci PoFMaN pour ta réponse, mai ça n'a pas régler le problème au niveau de $_POST['suppr'], car ça ne récupère pas les valeurs du tableau !!


 






@ -:) Zebra
Messages postés
58
Date d'inscription
dimanche 12 décembre 2004
Statut
Membre
Dernière intervention
21 juin 2006

La je te suis pas : quel tableau? chaque case à cocher doit avoir le même nom. fait voir ton code
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
41
Salut,

sans code, c'est compliquer d'aider quelqu'un qui ne dit même pas quels bugs il a dans son code, ce qu'il a essayé ect...

In a dream, I saw me, drop dead... U was there, U cried... It was just a dream, if I die, U won't cry, maybe, U'll be happy

Mon site (articles sur la programmation et programmes)
Messages postés
163
Date d'inscription
jeudi 15 juillet 2004
Statut
Membre
Dernière intervention
27 janvier 2016

Mon code est le suivant:

<form name="form1" method="post" action="supprimer.php">
      
 ">
</form>

et dans la page supprimer.php

foreach ($_POST['delete'] as $id-del)
 {
mysql_query("DELETE FROM matableWHERE  Id = $id-del");
}

Le problème est que je sais pas comment récupérer les références des éléments à supprimer ($row["$Id"])
 
Merci pour vos réponse

@ -:) Zebra
Messages postés
58
Date d'inscription
dimanche 12 décembre 2004
Statut
Membre
Dernière intervention
21 juin 2006

T'as du mal me lire parce c'est ce que je t'avai proposé (avec une variable en moins):
$total= count( $_POST['delete'] );
  for($i =0;$i<$total;$i++)
   {
        echo $_POST['delete'][$i]; // affiche le contenu des checkboxs
   }