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 :

Parcourir valeurs checkbox boucle


Sujet :

Langage PHP

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2013
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2013
    Messages : 19
    Points : 0
    Points
    0
    Par défaut Parcourir valeurs checkbox boucle
    Bonjour,

    j'ai une boucle comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
            for ($list=0;$list<=80;$list++){
            $host->execute([$list]);   
            echo $list."<br>";
            foreach ($host as $row)
            { 
                echo '<input type="checkbox" name="list[]" value="'.$i++.'">';
    	    echo $row."<br>";                                           
    	}?>
                <input type="submit" value="test">
             <?php   } ?>
    Le for parcours un tableau de variable string (si c'est possible?).
    Le problème que j'ai c'est que j'aimerai que la valeur de name de la checkbox "list[]" parcours aussi ce tableau grâce à la boucle. Je n'ai aucune idée comment faire, vous avez une idée ?

    Merci.

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    la valeur de name de la checkbox "list[]" parcours aussi ce tableau grâce à la boucle.
    Je n'ai rien compris
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  3. #3
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2013
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2013
    Messages : 19
    Points : 0
    Points
    0
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo '<input type="checkbox" name="list[]" value="'.$i++.'">';
    J'aimerai que le "list[]" change à chaque tour de boucle, comme les $list.

    Par exemple si au premier tour de boucle, les $list seront "Jean", alors name="list[]" sera name="Jean[]". Et ainsi de suite pour chaque valeur de $list.

    J'espère que je suis plus clair :p

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    les $list seront "Jean"
    $list est un nombre entre 0 et 80 dans ta boucle for ; comment $list pourrait valoir "Jean" ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2013
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2013
    Messages : 19
    Points : 0
    Points
    0
    Par défaut
    Je me suis trompé, je ferai comme ça plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $list = [Jean,Paul,Marc];
     
    for($i=0;$i<=3;$i++){
    $list[i];
    }

  6. #6
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Quelque chose comme ça peut être ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $list = ['Jean','Paul','Marc'];
    foreach ($list as $value) {
        echo '<input type="checkbox" name="list[]" value="'.$value.'">';
    }
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  7. #7
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2013
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2013
    Messages : 19
    Points : 0
    Points
    0
    Par défaut
    Re, oui merci ça fonctionne, pas besoin de for je crois.

    Par contre ce que je voulais par rapport à la checkbox, c'est changer aussi le name="list[]". Je voudrai récupérer les valeurs dans plusieurs POST différent pour effectuer plusieurs conditions.

  8. #8
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Ca ne serait pas une bonne chose : si tes noms de formulaire sont variable, tu ne peux pas les connaître pendant le traitement.

    Quel genre de condition dois-tu traiter ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  9. #9
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2013
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2013
    Messages : 19
    Points : 0
    Points
    0
    Par défaut
    Je dois comparer la valeur d'une checkbox, avec une valeur contenu dans ma db.
    Pour récupérer les valeurs checkboxes, ça fonctionnerait pas si je fais ça ? (En assumant que le name change selon notre $list)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $jean = $_POST["Jean"];
    $paul = $_POST["Paul"];
    $marc = $_POST["Marc"];

  10. #10
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    La valeur que tu vas recevoir avec mon exemple c'est "Jean" par exemple.
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  11. #11
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2013
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2013
    Messages : 19
    Points : 0
    Points
    0
    Par défaut
    La condition que je dois traiter c'est selon le résultat obtenu (la comparaison entre mes checkboxes et ma db) ça va afficher quelque chose dans un formulaire.

    Mais chaque formulaire est indépendant des autres. Du coup si j'utilise ta technique, tous les formulaires afficheront quelque chose. Je ne veux pas, je veux que ça affiche dans un seul.

    La meilleur chose serait que le résultat dépende du bouton submit envoyé, mais je sais pas si c'est possible.

  12. #12
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Tu peux donner l'exemple exact du comportement que tu veux ?
    N'oubliez pas de consulter les FAQ PHP et les cours et tutoriels PHP

  13. #13
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2013
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2013
    Messages : 19
    Points : 0
    Points
    0
    Par défaut
    Salut, c'est assez compliquer à expliquer. Mais je viens de trouver que c'est possible de mettre une valeur au bouton submit, du coup j'ai quelque chose comme ça :
    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
     
    $list = ['Jean','Paul','Marc'];     
    <form method="POST" action="#">;  
    <?php
    foreach ($list as $value)
    { 
          echo '<input type="checkbox" name="list[]" value="'.$value.'">';                               
    }?>     
    <input type="submit" name="submit" value="test"> <br>;              
    <?php
     
    if(isset($_POST['submit'])){
            if(!empty($_POST['list'])){
                    $names = $_POST["list"];
                    //Condition avec names;
            }
    }                
    </form>
    Si je duplique ce code pour chaque formulaire en changeant le "name='submit'" du bouton submit ça fonctionne (seulement le formulaire où j'ai submit affichera une phrase). Le problème c'est que je ne crois pas que avoir ce bout de code 100 fois dans mon site est une bonne chose, j'aimerai faire une boucle.
    Du coup j'essaie ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <input type="submit" name="<?php $value ?>" value="test"> <br>; 
    //et
    isset($_POST[$value]))
    Mais ça ne fonctionne pas ^^

  14. #14
    Membre éclairé Avatar de Geoffrey74
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2007
    Messages
    515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2007
    Messages : 515
    Points : 760
    Points
    760
    Par défaut
    La valeur que tu met au bouton submit, c'est le texte qui s'affiche sur le bouton.

    Si tu met plusieurs boutons submit dans le même formulaire, ils auront tous la même fonction.

    J'ai beau suivre ce topic depuis le début, je ne comprend toujours pas ce que tu cherches à faire...

  15. #15
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2013
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2013
    Messages : 19
    Points : 0
    Points
    0
    Par défaut
    Justement c'est le name que je veux changer, puisque c'est lui qui permet de voir si le bouton a été cliqué ou non.

    Ce que je veux faire, c'est que selon le bouton qui sera cliqué, le programme fera quelque chose.

    Donc j'aimerai pouvoir changer la valeur de name et du POST du bouton, avec la variable qui parcours le tableau grâce à la boucle (en soit $value).

  16. #16
    Membre éclairé Avatar de Geoffrey74
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2007
    Messages
    515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2007
    Messages : 515
    Points : 760
    Points
    760
    Par défaut
    Je reviens sur mes propos, j'ai dis des bêtises...

    Dans l'exemple que tu donnes, tu as 3 checkbox, tu cherches à savoir lequel a été sélectionné ?

  17. #17
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2013
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2013
    Messages : 19
    Points : 0
    Points
    0
    Par défaut
    Mince, je me suis trompé dans l'exemple. Plutôt ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    foreach ($list as $value)
    { 
          echo '<input type="checkbox" name="list[]" value="'.$value.'">';
          echo '<input type="submit" name="submit" value="test"> <br>';                               
    }?>
    Du coup j'aurai 3 checkboxs et 3 boutons test. Je cherche à savoir lequel des ces boutons à été sélectionné. Les 3 feront quelque chose de différent.

  18. #18
    Membre éclairé Avatar de Geoffrey74
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2007
    Messages
    515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2007
    Messages : 515
    Points : 760
    Points
    760
    Par défaut
    Pourquoi ne pas faire des lien directement, avec une variable en $_GET ?


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php
    foreach ($list as $value)
    { 
          echo '<a href="mapage.php?list='.$value.'">'.$value.'</a><br />  ';                           
    }
    ?>

  19. #19
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Octobre 2013
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2013
    Messages : 19
    Points : 0
    Points
    0
    Par défaut
    Je crois pas que c'est approprié dans mon cas.

    Y a vraiment pas moyen de mettre ma variable $value dans le name='submit' et dans le $_POST['submit'] ?
    Mon code est pratiquement fini, me manque plus que ça pour finir ma boucle :/

  20. #20
    Membre éclairé Avatar de Geoffrey74
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2007
    Messages
    515
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2007
    Messages : 515
    Points : 760
    Points
    760
    Par défaut
    En faite je n'ai toujours pas saisi la finalité de ta boucle, du coup j'ai du mal à te conseiller au mieux...

Discussions similaires

  1. recuperer les valeurs checkboxs PHP affichées avec une boucle
    Par programmatrice dans le forum Langage
    Réponses: 1
    Dernier message: 07/04/2012, 19h36
  2. recupérer valeur checkbox
    Par Emcy dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 15/09/2009, 15h13
  3. [VBA-E] Parcourir les checkbox d'une feuille avec une boucle
    Par tonton fred dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 31/05/2007, 13h47
  4. valeur inaccessible, boucles inversées
    Par potili2 dans le forum Delphi
    Réponses: 7
    Dernier message: 23/05/2007, 16h25
  5. [Tableaux] Valeur checkbox
    Par baillador dans le forum Langage
    Réponses: 7
    Dernier message: 13/04/2006, 10h25

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