Checkbox

Checkbox - PHP - Programmation

Marsh Posté le 30-12-2008 à 11:23:58    

Bonjour à tous,
 
Voila je travaille sur une page où se trouve un tableau remplit avec des information d'une base de donnée et à chaque ligne se trouve une case Checkbox.
Voici le bout de code concernant mon tableau:
 
<table style= "border: none; width: 50em">
<tbody> <!-- Corps du tableau -->
 
 
<tr>
<td style="border: none; width: 5em"><form method="post" action="contactg1.php">
<input type="checkbox" name="check[]" /><!-- case à cocher pour supprimer le message-->
</form></td>
<td style="border: none"; "width:10em">
 
 
<?php echo $donnees['nom']; ?></td>
 
 
<td style="border: none"; "width:10em">
 
 
<?php echo $donnees['sujet']; ?></td>
 
 
<td style="border: none; width: 20em">
 
 
<?php echo $donnees['message']; ?></td> <!-- cellule normale-->
 
 
 
 
<td style="border: none; width: 5em"><em>le <?php echo $donnees['timestamp']; ?></em></td>
 
 
</tr>
 
</tbody>
 
</table>
 
 
 
Je travaille maintenant sur mon code pour que l'utilisateur puisse supprimer les checkbox cochées et ainsi les données qui vont avec dans ma base de donnée, mais je n'y arrive toujours pas aprés quelques heures à avoir chercher sur le net.
 
Pourriez vous m'aider svp à trouver la bonne requête mysql à mettre ainsi que les données qui vont avec les checkbox qui seront cochées.
 
Meric à tous

Reply

Marsh Posté le 30-12-2008 à 11:23:58   

Reply

Marsh Posté le 30-12-2008 à 12:03:25    

Tu mets l'id de la ligne à effacer en value de tes checkbox :

 

<input type="checkbox" name="check[]" value="1"/> pour effacer la ligne dont l'id en base est 1

 

A la réception de ton formulaire t'as juste à faire :

 

$requete = "Delete from matable where id in (".implode(',',$_POST['check'])." )";

Message cité 1 fois
Message édité par Alisteroid le 30-12-2008 à 12:03:49
Reply

Marsh Posté le 30-12-2008 à 15:12:24    

Alisteroid a écrit :

Tu mets l'id de la ligne à effacer en value de tes checkbox :
 
<input type="checkbox" name="check[]" value="1"/> pour effacer la ligne dont l'id en base est 1
 
A la réception de ton formulaire t'as juste à faire :
 
$requete = "Delete from matable where id in (".implode(',',$_POST['check'])." )";


 
oui mais, faut vraiment sécuriser tout çà

Reply

Marsh Posté le 30-12-2008 à 15:14:54    

On va pas lui macher le travail non plus  [:thalis]  
 
Il demande comment faire, je lui donne un exemple qui marche, après je vais pas lui faire un cours sur les failles de sécurité  :o  
 
:D

Reply

Marsh Posté le 30-12-2008 à 15:16:46    

mouais :o

Reply

Marsh Posté le 30-12-2008 à 15:29:54    

merci
mais se que je veux c'est que l'utilisateur puisse cocher les lignes a supprimer puis ensuite cliquer sur un bouton pour toutes les supprimer
 
J'ai pensé a faire un boucle dans ma requête SQL lorsque je demande a supprimer, faire une boucle au niveau des ID qui seront choisis mais la je bloque :s

Reply

Marsh Posté le 30-12-2008 à 15:33:34    

quand on lit une réponse l'important c'est de comprendre : apparemment ce n'est pas ton cas.

Reply

Marsh Posté le 30-12-2008 à 15:39:10    

Je m'explique : la requête que te propose sebondus permet de supprimer tous les IDs stockées dans le tableau de cases à cocher.
Tu peux aussi faire une boucle :
 

Code :
  1. <?php
  2. foreach($boxes as $box) {
  3.    $box = (int) $box //Il est important d'éviter les injections SQL :o
  4.    $sql = "DELETE FROM `table`WHERE id = $box";
  5. }
  6. ?>


 
En gros, tu lis le tableau de checkbox et à chaque itération tu supprimes la ligne qui correspond ;)
A toi de choisir ta méthode

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed