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 :

tout cocher via des checkbox


Sujet :

Langage PHP

  1. #1
    Rédacteur
    Avatar de pi-2r
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2006
    Messages
    1 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 486
    Points : 2 440
    Points
    2 440
    Par défaut tout cocher via des checkbox
    Bonsoir,

    dans une page php, j'ai mis en place un tableau qui me ressort tous les éléments de mes différentes requêtes.
    Ces requêtes correspondent à des personnels de marie que l'on sélectionne via un checkbox.
    L'enregistrement d'un checkbox se fait dans une variable de type tableau. Pour ce faire je me suis servit du tuto de julp.

    Toutefois, je ne sais pas comment faire fonctionner un onglet "tout cocher", pour sélectionner tous les employés.

    mon code est le suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <script language="javascript">
    function toutcocher()
    {
        for(i=0;i<document.F1.length;i++)
        {
            if(document.F1.elements[i].type=="checkbox")
            {
                document.F1.elements[i].checked=true;
            }
        }    
    }
     
    </script>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <input type="checkbox" 
    <?php
    if($donnees['selection_liste'] == 'oui')
    { 
    echo'checked="yes"';
    }
    ?>
    name="mon_champ[]" value="<?php echo $donnees['id_liste'];?>"/>
    si quelqu'un à une piste, je suis preneur
    Les pièges de l'Internet
    Helix, réponse à une intrusion


    "La plus grande gloire n'est pas de ne jamais tomber, mais de se relever à chaque chute." Confucius
    "Si j'ai vu plus loin, c'est en me tenant sur les épaules de géants." Isaac Newton

  2. #2
    Membre actif
    Homme Profil pro
    DSI interne
    Inscrit en
    Juin 2011
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : DSI interne
    Secteur : Tourisme - Loisirs

    Informations forums :
    Inscription : Juin 2011
    Messages : 197
    Points : 290
    Points
    290
    Par défaut
    Bonsoir,

    Je pense que ta solution est plus complexe en passant par le javascript.

    J'aurais fais en passant par une simple variable en GET.

    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
    <?php
    if ( isset ($_GET['check'])) { $checked = $_GET['check']; } else { $checked = ''; }
    if ( $checked == "checked")
    { 
    $resultat = "checked=\"checked\"";
    }
    else
    {
    $resultat = "";
    }
    ?>
     
     
    <body>
    <form id="form1" name="form1" method="post" action="">
      <label>
        <input type="checkbox" name="personnel1" id="personnel1" <?php echo $resultat; ?>/>
         <input type="checkbox" name="personnel2" id="personnel2" <?php echo $resultat; ?>/>
          <input name="personnel3" type="checkbox" id="personnel3" <?php echo $resultat; ?> />
           <input type="checkbox" name="personnel4" id="personnel4" <?php echo $resultat; ?>/>
      </label>
    </form>
    <a href="test.php?check=checked">Tout cocher</a><a href="test.php?check=nochecked">Tout decocher</a>
    </body>
    En espérant t'avoir aider.
    "Beatus qui prodest quibus potest"

  3. #3
    Rédacteur
    Avatar de pi-2r
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2006
    Messages
    1 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 486
    Points : 2 440
    Points
    2 440
    Par défaut
    ok merci de ta réponse MinDBuSteR, je regarde ça
    Les pièges de l'Internet
    Helix, réponse à une intrusion


    "La plus grande gloire n'est pas de ne jamais tomber, mais de se relever à chaque chute." Confucius
    "Si j'ai vu plus loin, c'est en me tenant sur les épaules de géants." Isaac Newton

  4. #4
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 060
    Points : 1 357
    Points
    1 357
    Par défaut
    Bonjour,

    Un petit exemple en javascript :
    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
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
      <head>
        <title></title>
        <script type="text/javascript">
          function cocherDecocher(obj, controle)
          {
            var checked = (obj.checked) ? "checked" : "";
            for (cle in controle)
            {
              controle[cle].checked = checked;
            }
          }
        </script>
      </head>
      <body>
        <form name="formulaire" id="formulaire" method="post" action="">
          <table border="0" width="50%" align="center">
            <tr>
              <td>checkbox 1</td>
              <td align="left">
                <input type="checkbox" name="chk[]" id="chk[]" value="checkbox 1" />
              </td>
            </tr>
            <tr>
              <td>checkbox 2</td>
              <td align="left">
                <input type="checkbox" name="chk[]" id="chk[]" value="checkbox 2" />
              </td>
            </tr>
            <tr>
              <td>checkbox 3</td>
              <td align="left">
                <input type="checkbox" name="chk[]" id="chk[]" value="checkbox 3" />
              </td>
            </tr>
            <tr>
              <td>checkbox 4</td>
              <td align="left">
                <input type="checkbox" name="chk[]" id="chk[]" value="checkbox 4" />
              </td>
            </tr>
            <tr>
              <td>checkbox 5</td>
              <td align="left">
                <input type="checkbox" name="chk[]" id="chk[]" value="checkbox 5" />
              </td>
            </tr>
            <tr>
              <td><b>Cliquez ici pour cocher ou décocher les checkbox</b></td>
              <td>
                <input type="checkbox" name="all" id="all" onclick="cocherDecocher(this, this.form.elements['chk[]'])" />
              </td>
            </tr>
          </table>
        </form>
      </body>
    </html>

  5. #5
    Rédacteur/Modérateur
    Avatar de andry.aime
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    8 391
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Ile Maurice

    Informations forums :
    Inscription : Septembre 2007
    Messages : 8 391
    Points : 15 059
    Points
    15 059
    Par défaut
    Bonjour,

    Attention au code de jeca, un id doit être unique dans un document.

    A+.

  6. #6
    Membre actif Avatar de Retrokiller069
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2010
    Messages
    217
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Octobre 2010
    Messages : 217
    Points : 296
    Points
    296
    Par défaut
    Citation Envoyé par andry.aime Voir le message
    Bonjour,

    Attention au code de jeca, un id doit être unique dans un document.

    A+.
    Bonjour, il serait peut être préférable en effet de concaténer un id et un numéro. Je m'explique pour chaque input tu mets un même nom mais avec un numéro unique par la suite qui s'incrémente.

    exemple:
    chk1
    chk2
    chk3

    et après dans ton javascript tu insert un concaténation pour obtenir ainsi chaque id de ton formulaire soit par une boucle soit de manière manuelle.

    concaténation javascript:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    var chaine="Première partie";
    var chaine2=" seconde partie";
    alert(chaine);
    Ce n'est pas ce que nous voulons faire qui est impossible mais ce sont les moyens à sa mise en oeuvre qui peuvent le paraître

    Ps: N'oubliez pas SVP

  7. #7
    Membre expérimenté

    Profil pro
    Inscrit en
    Août 2002
    Messages
    1 060
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 1 060
    Points : 1 357
    Points
    1 357
    Par défaut
    Citation Envoyé par andry.aime Voir le message
    Attention au code de jeca, un id doit être unique dans un document.
    Exact. Je me suis planté.
    Après consultation de la DTD : http://www.la-grange.net/w3c/xhtml1/#dtds, l'attribut "id" de l"élément "input" n'est pas "REQUIRED". Il suffit donc de le supprimer.

    Je préfère la formulation en tableau des attributs "name' des "input" car plus simples à récupérer en PHP si besoin est.

  8. #8
    Rédacteur
    Avatar de pi-2r
    Homme Profil pro
    Développeur Java
    Inscrit en
    Juin 2006
    Messages
    1 486
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Juin 2006
    Messages : 1 486
    Points : 2 440
    Points
    2 440
    Par défaut
    merci de votre aide, j'ai réussi à faire ce que je voulais
    Les pièges de l'Internet
    Helix, réponse à une intrusion


    "La plus grande gloire n'est pas de ne jamais tomber, mais de se relever à chaque chute." Confucius
    "Si j'ai vu plus loin, c'est en me tenant sur les épaules de géants." Isaac Newton

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

Discussions similaires

  1. Filtrer un objet via des checkbox
    Par Rtransat dans le forum AngularJS
    Réponses: 2
    Dernier message: 27/03/2015, 09h21
  2. Suppression d'item dans une ListView via des CheckBox (Type boite mail)
    Par Berlo56 dans le forum Composants graphiques
    Réponses: 2
    Dernier message: 27/03/2014, 09h40
  3. supprimer des donnees dans une base de données via des checkbox dans un tableau
    Par nourchéne dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 03/04/2013, 18h01
  4. [JSP/servlet] Séléctions multiples via des checkbox
    Par coshibe dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 04/02/2012, 14h26
  5. [XL-2007] Filtrer un document via des checkbox
    Par amirale dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 16/12/2011, 09h55

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