Forum Programmation.php Récupérer une liste de cases cochées

Posté par  (site web personnel) .
Étiquettes : aucune
0
7
fév.
2006
Bonjour, je génère, via SQL, un tableau rassemblant quelques information et où la premiere colonne est une case à cocher.

|-------||------------||------------|
_______ entet1______entet2
|-------||------------||------------|
__x______valeur1____valeur2
|-------||------------||------------|
___x _____valeur1____valeur2
|-------||------------||------------|


Je voudrai que l'utilisateur puisse sélectionner les lignes qu'il désir et que puisse récupérer la liste des lignes sélectionner.
J'utilise donc un truc de la forme

echo "<form method=\"POST\"><input type=\"checkbox\" name=\"bov_select[]\" value=".$data['ClePrimaire'].">";

J'ai prévu de mettre la clé primaire dans le value, de sorte à pouvoir exploiter mon tableau bov_select[]
J'ai collé ça en tant que simple case de mon tableau que je génère. (la première colonne de chaque ligne)

La question que je me pose est : comment m'arranger pour coller un "submit/ok" (je ne vousmet pas le code, il passe pas ici...) à la fin pour récupérer la liste des lignes cochées.

En clair, comment avoir un simple bouton submit qui me permet de récupérer la liste des des lignes cochées.

Merci !
  • # je n'ai pas du comprendre la question ...

    Posté par  (site web personnel) . Évalué à 4.

    avec un seul formulaire ca ne marche pas ?

    {form}
    {input type=checkbox name=chk value=id1}
    {input type=checkbox name=chk value=id2}
    {input type=checkbox name=chk value=id3}
    {input type=checkbox name=chk value=id4}
    {input type=submit value="ca raoul ma paoul"}
    {/form}

    si ton interface CGI ne te permet pas de recuperer un chk correct, tente avec chk_id???? ( ou ???? représente l'id courant ).

    si tu me dis que ma réponse ne correspond pas a ce que tu demandes, saches que je m'y suis repris à deux fois pour essayer de comprendre ce que tu demande et que je n'en suis toujours pas sur :/
  • # Si j'ai bien tout compris...

    Posté par  . Évalué à 3.

    En fait, le problème se résume à récupérer l'ensemble des cases cochées, côté serveur, après soumission du formulaire.
    D'après les quelques essais que j'ai pu faire, j'ai pu constater les choses suivantes :
    - si tu nommes tous tes checkbox bov_select[], au final, tu ne récupéreras pas ceux qui ne sont pas cochés. Comme tu as mis [] directement dans le nom, tu n'auras que l'ensemble des cases cochées, mises à la suite.Ce que je dis n'est pas très clair ? Un exemple :
    Que tu coches les cases 1 et 2 seulement, ou les cases 1 et 7 seulement, tu auras toujours au retour un tableau de deux éléments : bov_select[0] et bov_select[1]. Mais comment savoir si c'est la case 2 ou 7 ? On ne peut pas !
    - c'est difficile de faire correspondre ça à des valeurs. Je n'ai pas trop de temps pour arumenter, mais crois-moi, c'est comme ça.
    Du coup, lorsque j'utilise ce genre d'artifice, je procède souvent ainsi :
    - je donne un indice à mes checkbox : bov_select[1], bov_select[2], etc.
    Comme ça, si tu coches les cases 1 et 7 seulement, tu ne récupères certes qu'un tableau à deux cases, mais elles sont numérotées 1 et 7.
    Après, c'est à toi de voir, soit tu as une façon de faire correspondre ça aux vraies valeurs utiles par ton système d'information (variables de session, requêtes vers une base, etc), soit tu passes tout dans des champs cachés de ton formulaire (solution que je trouve porc, mais ça reste mon avis, hein !).
    Voilà, en espérant avoir compris ton problème, et que ces quelques lignes (si elles ne sont pas trop erronées) t'aideront à le rsoudre.
    • [^] # Re: Si j'ai bien tout compris...

      Posté par  (site web personnel) . Évalué à 1.

      En gros j'ai compris comment ça marche.

      Tu met tous les contrôle que tu veux, tu prépares les variables, tableaux qui se rempliront, tu fait un submit indépendant, et, au rechargement, tout est contenu dans le $_POST.

      En fait c'était tout bête.

      J'espère que ça servira à quelqu'un. :)

      « Il n’y a pas de choix démocratiques contre les Traités européens » - Jean-Claude Junker

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.