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 :

recupérer 2 variables


Sujet :

Langage PHP

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 178
    Par défaut recupérer 2 variables
    Bonjour j'ai besoin dans un formulaire de faire passer 2 variables sur une checkbox
    VALEURS $data['FAM_LIB'] et $data['FAM_ID']
    Car j'ai besoin de la 2eme variable pour l'utilisé dans une requete sql En traitement de formulaire donc les recupéré en POST.
    il y a t'il une solution ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <?php
    echo "<input type=\"checkbox\" name=\"choix[]\" value=\"".$data['FAM_LIB']."\">".$data['FAM_LIB'].'<br>' ;
    ?>

  2. #2
    Membre confirmé
    Inscrit en
    Août 2006
    Messages
    108
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 108
    Par défaut
    hello

    dans la value de ton checkbox tu passes tes 2 valeurs séparées par un caractère special comme un "_"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <?php
    echo "<input type=\"checkbox\" name=\"choix[]\" value=\"".$data['FAM_ID']."_".$data['FAM_LIB']."\">".$data['FAM_LIB'].'<br>' ;
    ?>
    ou un truc dans le genre faut verifier les guillemets
    et apres tu explodes ton checkbox quand tu recuperes ton post

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 178
    Par défaut
    ok ça marche mais maintenant quand je clique sur la checkbox j'ai les 2 valeurs afficher comment assigner maintenant les 2 valeurs pour les séparer ? un exemple?

  4. #4
    Membre confirmé
    Inscrit en
    Août 2006
    Messages
    108
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 108
    Par défaut
    j ai pas compris, quand tu cliques sur la checkbox t as les 2 valeurs affichées ou ? dans le fichier ou tu récupères tes post ?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 178
    Par défaut
    A la base quand je cliquer sur ma checkbox il m'afficher le nom normal la valeur est FAM_LIB, maintenant que je passe les 2 variables il m'affiche FAM_LIB et FAM_ID hors moi je souhaite quand je clique sur la checkbox qu'il affiche juste FAM_LIB et utiliser FAM_ID dans une requete sql donc comment
    séparer les 2 variables apres qu'ils ont été envoyé sur la même valeur ?

  6. #6
    Membre confirmé
    Inscrit en
    Août 2006
    Messages
    108
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 108
    Par défaut
    ok,

    tu fais un explode

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $var = explode("_", $_POST["choix[]"]);
     
    $FAM_ID = $var[0];
    $FAM_LIB = $var[1];

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 178
    Par défaut
    j'ai des erreurs
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    if(isset($_POST['choix'])){
    $var = explode("_", $_POST["choix[]"]);
     
    $FAM_ID = $var[0];
    $FAM_LIB = $var[1];
     
    $montant=$var[1];
    foreach ($montant as $monchoix) {
    echo $monchoix,'<br>';
    }
     
    }

    Notice: Undefined index: choix[] in C:\wamp\www\label.php on line 19

    Notice: Undefined offset: 1 in C:\wamp\www\label.php on line 22

    Notice: Undefined offset: 1 in C:\wamp\www\label.php on line 24

    Warning: Invalid argument supplied for foreach() in C:\wamp\www\label.php on line 25

  8. #8
    Membre confirmé
    Inscrit en
    Août 2006
    Messages
    108
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 108
    Par défaut
    ta variable c est choix ou choix[] ?

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 178
    Par défaut
    ok c'est choix[]
    Donc j 'ai modifier
    if(isset($_POST['choix[]'])){


    il affiche rien

  10. #10
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if(isset($_POST['choix'])){
    $var = explode("_", $_POST["choix[]"]);
    Il faut être cohérent, tu ne peux pas tester l'existence de choix puis lire choix[].

    Soit dit en passant, c'est $_POST['choix'] qu'il faut que tu utilises. Les crochets de <input name="choix[]"> servent à indiquer au formulaire HTML que les valeurs doivent être envoyées dans un tableau...

    Le plus simple pour résoudre le reste de ton problème serait que tu nous fasses un var_dump de $_POST['choix'], histoire qu'on sache ce qu'il a réellement dedans
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  11. #11
    Membre confirmé
    Inscrit en
    Août 2006
    Messages
    108
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 108
    Par défaut
    je peux savoir ce qu il y a dans $FAM_LIB ?

    pourquoi tu fais un foreach dessus ?

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 178
    Par défaut
    avec ça

    Notice: Undefined index: choix[] in C:\wamp\www\label.php on line 19

    Notice: Undefined offset: 1 in C:\wamp\www\label.php on line 22

    Warning: Invalid argument supplied for foreach() in C:\wamp\www\label.php on line 25

  13. #13
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 178
    Par défaut
    en faite si je fais pas de foreach il recupére qu 'une seul valeur si je coche par exemple 5 checkbox

  14. #14
    Membre confirmé
    Inscrit en
    Août 2006
    Messages
    108
    Détails du profil
    Informations forums :
    Inscription : Août 2006
    Messages : 108
    Par défaut
    tu as plusieurs checkbox "choix" ?

    est ce que tu peux re préciser ce que tu veux faire exactement (nb de checkbox ... )

  15. #15
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 178
    Par défaut
    voivi mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    $sql = "SELECT * FROM FAMILLE";
    $res= mysql_query($sql);
     
        echo '<form action="label.php" method="post">';
     
        while($data= mysql_fetch_assoc($res)){
        echo "<input type=\"checkbox\" name=\"choix[]\" value=\"".$data['FAM_ID']."_".$data['FAM_LIB']."\">".$data['FAM_LIB'].'<br>' ;
    }
        echo  "<input type=\"submit\" name=\"envoi\" value=\"Poster\">" ; 
        echo "</form>"; 
     
     
     
     
     
    if(isset($_POST['choix'])){
    $var = explode("_", $_POST["choix[]"]);
     
    $FAM_ID = $var[0];
    $FAM_LIB = $var[1];
     
    $montant=$var[0];
    foreach ($montant as $monchoix) {
    echo $monchoix,'<br>';
    }
     
    }
    Mon but est d'afficher
    FAM_PARENT --->FAM_LIB

    pour afficher FAM_PARENT j'ai besoin de FAM_ID pour construire ma requete sql d'ou pourquoi j'ai besoin de faire passer 2 variables.

  16. #16
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    Tes checkboxes sont stockées dans un tableau, une checkbox par ligne du tableau. Chaque checkbox envoie une valeur du genre idx_libx.
    Si tu veux récupérer chaque idx et libx séparément, il te faut une boucle sur le tableau $_POST['choix'], puis un explode sur la valeur de la ligne.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    if(isset($_POST['choix'])){
    foreach ($_POST['choix'] as $box_value)
    {
      $box_values = explode('_', $box_value);
      $fam_id = $box_values[0];
      $fam_lib = $box_values[1];
      echo 'ID : '.$fam_id.', LIB : '.$fam_lib.'<br/>';
    }
    }
    Après tu peux faire ce qu'il te chante dans la boucle...
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

  17. #17
    Membre confirmé
    Profil pro
    Inscrit en
    Décembre 2007
    Messages
    178
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2007
    Messages : 178
    Par défaut
    Nikel merci ça marche un grand merci a marielaure et a celira c'est cool de votre part

  18. #18
    Modératrice
    Avatar de Celira
    Femme Profil pro
    Développeuse PHP/Java
    Inscrit en
    Avril 2007
    Messages
    8 633
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Développeuse PHP/Java
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2007
    Messages : 8 633
    Par défaut
    un 'tit ?
    Modératrice PHP
    Aucun navigateur ne propose d'extension boule-de-cristal : postez votre code et vos messages d'erreurs. (Rappel : "ça ne marche pas" n'est pas un message d'erreur)
    Cherchez un peu avant poser votre question : Cours et Tutoriels PHP - FAQ PHP - PDO une soupe et au lit !.

    Affichez votre code en couleurs : [CODE=php][/CODE] (bouton # de l'éditeur) et [C=php][/C]

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 18
    Dernier message: 04/08/2006, 17h10
  2. Recupérer une variable GET
    Par 10-nice dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 20/04/2006, 15h21
  3. Réponses: 49
    Dernier message: 13/03/2006, 12h25
  4. [Système] Recupération de variable système
    Par dj-julio dans le forum Langage
    Réponses: 2
    Dernier message: 03/01/2006, 16h45
  5. [JSP][débutant] recupérer des variables...
    Par yass dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 08/04/2004, 12h05

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