Bonjour à tous.
J'ai essayé de trouver une réponse avant de venir vous embêter mais en vain...
J'ai lu quelque part sur ce forum que les valeurs sélectionnées via une checkbox étaient récupérées dans un tableau.
Et effectivement hier encore c'était le cas. Aujourd'hui je ne récupère au mieux que la première valeur de ce tableau et le plus beau c'est que la variable en question (censée être un tableau) passe outre mon test avec is_array(var)...
_______________________________________________________________________________________________
MA CHECKBOX (alimentée grace à une base de données):
_______________________________________________________________________________________________
_______________________________________________________________________________________________
ET MA PAGE OU JE RECUPERE LES VALEURS SELECTIONNEES (editer_table.php) :
Code :
$table=$_POST["tables_presentes"];
$action=$_POST["action"];
switch ($action) {
case "supprimer":{
$query= "DROP TABLE `".$table."`";
if(is_array($table)){
// le programme ne va jamais jusqu'ici!!
for ($i=1; isset($table[$i]); $i++){
echo $table[$i];
$query.=", `".$table[$i]."`";
}
}
echo $query;// affichage de la requête
$result = mysql_query($query) or die("Query failed" );// envoie de la requete à mysql
break;
}
case "modifier":{
// il n'y a rien ici c'est normal je le programmerai plus tard, il faut que le cas "supprimer" fonctionne...
Je le reprécise, hier encore ça marchait parfaitement... j'ai fait des changements depuis (j'ai ajouté du javascript pour faire apparaitre un bouton) mais rien ne qui concerne la récupération des valeurs sélectionnées par checkbox.
Je vous remercie par avance!
Message édité par kamerleon le 15-06-2007 à 11:40:41
Encore une chose pour préciser : le problème vient du seul fait que ma variable "$table" qui récupère les données d'un $_POST n'est PAS UN TABLEAU alors que je lis partout que c'en est un quand plusieurs valeurs doivent être récupérées...
voilà j'ai ré-écris mon sujet j'espère qu'il convient maintenant.
J'espère que vous saurez éclairer ma lanterne.
La valeur de name sert de clé à ton tableau de récupération des checkbox. SI tous les names sont identiques, tu n'auras qu'une clé (1 seule ligne dans ton tableau), et toutes les valeurs récupérées par $_POST seront écrasées sauf la dernière...
Effectivement cela explique beaucoup de chose. Mais ça ne me dit pas comment ça se fait que ça marchait avant, alors que j'avais laissé les mêmes noms pour tous.
En tout cas merci bien je considère mon problème comme résolu puisque vous m'en avez donné la cause. Faut-il que je contacte qu'elqu'un pour signaler ce problème comme résolu?
Fais déjà des tests pour contrôler que ça vient bien de là.
Ensuite, tu peux éditer ton premier message (2e icône en partant de la gauche au-dessus de ton message) et tu change le titre en mettant [résolu]. C'est cool ce forum, tu peux tout faire tout seul
Dans mon cas, j'étais contraint de mettre le même "name" à toutes les checkbox.
Pour gérer cela, il suffit de déclarer la checkbox comme suit (sans oublier les crochets):
(Merci à toi, kamerleon. Malgré un début difficile, aujourd'hui tu es un exemple : [Résolu] dans le titre, publication de ta solution, état d'esprit excellent. )