IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Tableaux] Checkbox dans un tableau


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Inscrit en
    Juin 2006
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 5
    Points : 2
    Points
    2
    Par défaut [Tableaux] Checkbox dans un tableau
    Bonjour à tous.

    J'ai une table HTML composée pour chaque ligne d'un champs texte et d'une checkbox.

    ex :
    <table ...>
    <tr>
    <td><input type="text" name="champ1[]" value="champ1"></td>
    <td><input type="checkbox" name="champ2[]"></td>
    </tr>
    </table>


    Pb : L'utilisateur peut ajouter et supprimer dynamiquement des lignes.
    Si j'ai deux lignes du genre :

    valeur1
    valeur2 X

    J'obtient lors de l'envoi du formulaire une variable $_POST du style :

    champ1 => [0] valeur1
    [1] valeur2

    champ2 => [0] on

    Il m'est donc impossible de déterminer quelle ligne à la valeur cochée.
    Je ne (v)peux pas utiliser des name différents car cela complexifierait de trop le programme.

    Merci à tout ceux qui auraient une idée !

  2. #2
    Membre averti Avatar de mLk92
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    527
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 527
    Points : 305
    Points
    305
    Par défaut


    Et le mot "complexifierait" existe pas lol, c'est "compliquerait"

    Ensuite je comprend pas trop ce que tu fai avec les 2 tableau champ pourrait tu nous en dire plus ? ou plus clair

  3. #3
    Candidat au Club
    Inscrit en
    Juin 2006
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Merci pour ta réponse et désolé pour les fautes de français !

    J'ai donc un tableau contenant deux colonnes, une avec un champ texte et une autre avec une checkbox.
    L'utilisateur peut ajouter ou supprimer dynamiquement des lignes ou en supprimer (via javascript).
    Lors de la soumission, je veux générer une ligne du type texteLigne1;cocheLigne1|texteLigne2;cocheLigne2|etc

    Si j'ai un tableau du genre :

    valeur1 noncoche
    valeur2 coche

    J'utilise de code suivant pour me générer la ligne :
    $aliad = array();
    $temp = $_POST[champ1];
    $tempLib = $_POST[champ2];
    foreach ($temp as $key => $val) {
    if ($val != "") {
    $alias[]=$val . ";" . $tempLib[$key];
    }
    }
    return implode("|",$alias);

    Malheureusement, dans le cas de l'exemple, $_POST[champ2] retourne [0] = on au lieu de [1] =on.
    J'obtiens donc valeur1:on|valeur2 au lieu de valeur1;|valeur2;on


    Je ne sais pas si j'ai été assez clair !

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Points : 1 460
    Points
    1 460
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <table ...>
    <tr>
    <td><input type="checkbox" value="champ1" name="champ2[]"></td>
    </tr>
    </table>
    et comme ça ca serait pa bon??

  5. #5
    Candidat au Club
    Inscrit en
    Juin 2006
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Qu'est-ce que cela apporterait ?

  6. #6
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Points : 1 460
    Points
    1 460
    Par défaut
    d'apres c eque j'ai compri tu veux recupérer la ligne qui est coché pour la supprimer? donc dans value tu met un champ unique (j'ai supose que champ1 en etait un ...

    ensuit tu recupere avec un post ou get champ2 est a l'interieur du tableau ta lé valeur de tous les champ1 coché" par exemple
    c'est pas ce que tu veus faire?

    euh je suis peu etre pas claire lol

  7. #7
    Membre actif Avatar de riesseg
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    415
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 415
    Points : 251
    Points
    251
    Par défaut
    fallait juste lui dire que tu creeais un tableau de variables boo64.

    C'est a dire, si mes souvenirs sont bon, quand tu fasi name=champ[], le html va te mettre des petits chiffres dans le[] automatiquement ( auto-implementation).


    Et quand tu fais ta recuperation, il me semble que tu fais une boucle sur des $_POST[champ][$i] (t'incremente $i ) ou un truc du genre.

    Un truc fort sympathique ma foi

  8. #8
    Membre expérimenté
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    1 349
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Avril 2006
    Messages : 1 349
    Points : 1 460
    Points
    1 460
    Par défaut
    Citation Envoyé par riesseg
    fallait juste lui dire que tu creeais un tableau de variables boo64.

    C'est a dire, si mes souvenirs sont bon, quand tu fasi name=champ[], le html va te mettre des petits chiffres dans le[] automatiquement ( auto-implementation).




    Et quand tu fais ta recuperation, il me semble que tu fais une boucle sur des $_POST[champ][$i] (t'incremente $i ) ou un truc du genre.

    Un truc fort sympathique ma foi
    lol oui mais en mettan un value peut mettre autre chose que des petits chiffres mais t'as deja mieu expliquer c'est claire lol....chui qu'un débutant en php..

  9. #9
    Membre actif Avatar de riesseg
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    415
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 415
    Points : 251
    Points
    251
    Par défaut
    bin tu pourrai mettre des trucs toi meme quand tu genere ton tableau et tout...

    Mais si le html le fait tout seul, on va pas le lui enlever ^^

  10. #10
    Candidat au Club
    Inscrit en
    Juin 2006
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Ce n'est pas du tout cela.
    Si vous regardez mon premier post, vous verrez que j'ai déjà mis un tableau de variable et que je les récupère via une boucle.

    Le problème est que la valeur de l'indice 0 du tableau valeur2 n'est pas forcément la valeur de la checkbox liée à la valeur 0 de l'indice du valeur valeur1 du fait que PHP ne génère le tableau des checkbox qu'avec les valeurs cochées.

Discussions similaires

  1. Réponses: 3
    Dernier message: 12/07/2006, 14h54
  2. [Tableaux] Compter dans un tableau
    Par CAMB3L dans le forum Langage
    Réponses: 3
    Dernier message: 29/04/2006, 18h23
  3. [Tableaux] Boucle dans un tableau
    Par apprenti-fab dans le forum Langage
    Réponses: 9
    Dernier message: 24/04/2006, 10h14
  4. [Tableaux] checkbox dans une text area ..
    Par twixster dans le forum Langage
    Réponses: 5
    Dernier message: 13/02/2006, 17h29
  5. [Tableaux] Count dans un tableau
    Par krfa1 dans le forum Langage
    Réponses: 2
    Dernier message: 27/11/2005, 20h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo