CheckBox Tableau...

Fermé
Antoine 83400 - 21 mai 2013 à 11:35
 Utilisateur anonyme - 21 mai 2013 à 15:52
Bonjour,

J'ai créé un tableau qui retrace ma base SQL, tout fonctionne parfaitement. Cependant j'ai voulu mettre des CheckBox sur chaque ligne pour pouvoir supprimer la ligne directement dans la base de donnée.

Lorsque je selectionne ma checkbox à une certaine ligne et que je supprime, ça fonctionne.
Cependant le cas où j'en selectionne plusieurs : ERREUR. Vous me direz normal en voyant mon code.

J'ai eu l'idée de jouer dans les matrices et hop par pur hasard je suis tombé sur une liste de valeur : 

value = [10,11,12,13,14]

pour récupérer la valeur 10 j'ai du faire : $value[0],$value[1] qui m'affiche 10.

J'ai donc réussi pour la suppression multiple de 10 à 99. Dois-je le faire pour les valeurs inferieures à 10 et supérieur à 99, puis 999... Je suppose qu'il  y a une méthode beaucoup plus simple.

Je vous mets alors mon code qui fonctionne pour la suppression de n'importe quel nombre, à savoir que ce nombre est mon identifiant que je supprime dans la base SQL.

J'ai mis un FORM sur mon tableau qui tire sur ma page checkbox.php :

La voici :

<?php

include("connect.php");

$ids = implode(", ", $_POST['check']);
$liste = array($ids);

if($_POST['check'])
{
	foreach ($liste as $value)
	{
		$sql="DELETE FROM reservation WHERE noresa = ".$value.""; 
		$req= mysql_query($sql) or die('erreur MySQL');
	}
}

?>

Je suis un novice en la matière.

Merci beaucoup, bonne journée.
A voir également:

4 réponses

jeremy.s Messages postés 1226 Date d'inscription lundi 28 mars 2011 Statut Membre Dernière intervention 2 septembre 2013 79
21 mai 2013 à 15:32
Je pense effectivement que c'est la bonne solution, mais j'attendais de voir son code html pour lui proposé !

Donc Antoine, la solution serait de faire ainsi :

Dans chaque checkbox, tu leur met comme name="mesCheckbox[]" (tu peux mettre le nom que tu souhaites, l'important c'est le [] !)

Ensuite dans ton php, tu vas récupéré toutes tes checkbox cochées dans un tableau, $_POST['mesCheckbox'] par exemple.
Tu peux donc le parcourir avec un foreach pour construire un string.
Ensuite dans ta requete, tu peux faire comme ca :
DELETE FROM reservation WHERE noresa IN ($value)
Entre les parenthèses du IN, tu auras plusieurs noresa, par exemple IN (12, 35, 52), ca va donc te supprimer toutes les réservations qui ont le numéro 12, 35 et 52.
1
Utilisateur anonyme
21 mai 2013 à 15:52
;)
0
jeremy.s Messages postés 1226 Date d'inscription lundi 28 mars 2011 Statut Membre Dernière intervention 2 septembre 2013 79
21 mai 2013 à 15:02
Salut !

Peux tu mettre ton code html aussi stp ? :)
0
Antoine 83400
21 mai 2013 à 15:12
c'est bon j'ai trouvé merci quand meme :)
0
Utilisateur anonyme
21 mai 2013 à 15:24
Salut salut,

Je ne comprends pas exactement ce que tu cherches à faire.

Tu as une bdd et tu affiches les lignes de cette bdd avec une checkbox à coté que tu coches pour supprimer l'entrée en bdd, c'est bien ça?

Si tu souhaites en supprimer plusieurs en les cochant cela reste tout à fait possible. La variable get correspondant à la checkbox sera un tableau sur lequel tu pourras boucler pour supprimer les entrées correspondantes, il ne devrait pas il y avoir de problème.

Quand tu dis " Dois-je le faire pour les valeurs inferieures à 10 et supérieur à 99" ?? Ca c'est à toi de voir ce que souhaites faire, je ne vois pas quelle information tu attends de notre part en rapport avec cette question??
0