utiliser Case à cochée pour modifier la BDD

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : utiliser Case à cochée pour modifier la BDD

par Ryle » 07 nov. 2006, 12:39

Tout d'abord, il te faut donner une valeur à tes cases de manière à pouvoir les distinguer et surtout à savoir lesquelles ont été cohées. L'idéal serait pour cela d'utiliser un identifiant unique, tant qu'à faire celui de ta base de données. Il te faut donc dans un premier temps le récupérer via ta requête et l'utiliser dans ta case :)
echo '<input ... value="'.$id.'">';
Il te suffit alors de récuperer ensuite $_POST['nomDeLaCase'] pour connaitre l'identifiant, sachant que si la case n'est pas cochée, $_POST['nomDeLaCase'] n'est pas défini.

Le problème c'est que si jamais tu as plusieurs cases avec le même nom qui sont cochées, les valeurs vont s'écraser et tu n'auras que la dernière, et si tu donnes un nom différent à chaque case, tu vas te galérer pour savoir lesquelles sont définies (et donc cochées) ou pas.

La solution se trouve dans les crochets : si tu donne le même nom à tes cases et que tu y ajoutes des [] cela va générer un tableau et les valeurs ne s'écraseront plus

Code : Tout sélectionner

<input name="maCase[]" ... value="1"> <input name="maCase[]" ... value="2"> ...
$_POST['nomDeLaCaseSansLesCrochets'] devient alors un tableau contenant les id des cases cochées. Il ne te reste plus alors qu'à parcourir ce tableau à l'aide d'une boucle pour y trouver les id cochés :)

utiliser Case à cochée pour modifier la BDD

par Invité » 06 nov. 2006, 18:26

voici un fragment de code

 while($reponse=mysql_fetch_array($message))
        {
        $titre=$reponse['titre_nw'];
        $corp=$reponse['corp_nw'];
        $date=$reponse['date_nw'];
      
echo"sujet:".$corp;echo"<input type='checkbox' name='spprimer'>";

       {
comme tu vois la j'ai utiliser une boucle qui affiche tt les message se trouvant dans la base j fait de tels sorte que les case a coché soit générer automatiquement autant de fois qui a de message.

le probleme c'est comment je peu récuperer l'ID que du message que j'aurai coché, et puis aussi dans le cas ou j'aurai coché plusieurs.. :?

par charabia » 06 nov. 2006, 13:22

Par la case à cocher tu peux passer une variable. Dans ton cas l'ID du message en question est idéal.

Ensuite dans ta requête, tu récupères cet ID et tu supprimes en fonction ;)

Mais là du coup ça devient du PHP !

utiliser Case à cochée pour modifier la BDD

par BlackMino » 05 nov. 2006, 17:05

j'ai une liste de message ou j'ai mis a côter de chaqu'un d'entre eux une case a coché et un bouton supprimer a la fin de cette liste;

-lorseque je coche les message que je veut supprimer de la base de données; et que je valide ensuite avec le bouton supprimer

je voudrai que les messages sélectionner se supprime de la BDD;

et je ne sais pas comment faire...... :(
Deja que je ne connais même pas les propriétés des case a coché et a quoi il servent .... :oops: