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 :

test multi select


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2017
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2017
    Messages : 57
    Points : 39
    Points
    39
    Par défaut test multi select
    Bonjour tout le monde,

    comment je fais pour tester si mes deux valeurs sont sélectionnées dans une select multiple svp ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <select name="laSelectionMultiple[]" multiple>
              <option value="1">Groupe 1</option>
              <option value="2">Groupe 2</option>
           </select>
    sachant que j'ai 3 tests à faire et j'en ai fait si le groupe 1 est sélectionné si le 2eme est sélectionné mais je sais pas quelle condition mettre pour les deux.

  2. #2
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Salut,

    un truc dans le genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    if (isset($_POST['laSelectionMultiple'][1], $_POST['laSelectionMultiple'][2])) { 
        if (($_POST['laSelectionMultiple'][1] == 1) && ($_POST['laSelectionMultiple'][2] == 2)) {
        }
    }

  3. #3
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2017
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2017
    Messages : 57
    Points : 39
    Points
    39
    Par défaut
    Merci pour ta réponse,
    j ai remplacé mon dernier elseif, mais ca ne marche pas, la moyenne est fausse et on dirait que ca boucle pas dans le dernier elseif vu que var_dump($_POST) ne m affiche rien
    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
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
     
     
    if(isset($_POST["laSelectionMultiple"]) )
          {
     
                foreach ($_POST['laSelectionMultiple'] as $laSelectionMultiple){
                  if($laSelectionMultiple == 1 ){
                      foreach($NotesGroupe1 as $code => $note)
                      {
     
                               echo "<tr><td>" . $note[0] . "</td>";
                   						 echo "<td> " . $note[1] . "</td>";
                               echo "<td> " . $note[2] . "</td>";
                						   $moyenne_finale = $note[4] * 0.2 + $note[5] * 0.4 + $note[6] * 0.4;
                						   echo "<td> " . $moyenne_finale . "</td>";
                               $total1[] = $moyenne_finale;
                             }
                             //var_dump($total1);
                              $total2 = array_sum($total1);
                              //var_dump($total2);
                              $moyenne = $total2 / count($NotesGroupe1);
                            //  echo $moyenne;
                }
                elseif($laSelectionMultiple == 2) {
                      foreach($NotesGroupe2 as $code => $note)
                      {
     
                        echo "<tr><td>" . $note[0] . "</td>";
                        echo "<td> " . $note[1] . "</td>";
                        echo "<td> " . $note[2] . "</td>";
                				$moyenne_finale = $note[4] * 0.2 + $note[5] * 0.4 + $note[6] * 0.4;
                				echo "<td> " . $moyenne_finale . "</td>";
                        $total1[] = $moyenne_finale;
                      }
                      $total2 = array_sum($total1);
                      //var_dump($total2);
                      $moyenne = $total2 / count($NotesGroupe2);
                }
     
                  elseif (($_POST['laSelectionMultiple'][1] == 1) && ($_POST['laSelectionMultiple'][2] == 2)) {
                    var_dump($_POST);
                    $result = array_merge($NotesGroupe1, $NotesGroupe2);
                    foreach($result as $code => $note)
                    {
     
                    echo "<tr><td>" . $note[0] . "</td>";
                    echo "<td> " . $note[1] . "</td>";
                      echo "<td> " . $note[2] . "</td>";
                      $moyenne_finale = $note[4] * 0.2 + $note[5] * 0.4 + $note[6] * 0.4;
                      echo "<td> " . $moyenne_finale . "</td>";
                      $total1[] = $moyenne_finale;
                    }
                    $sum_count= count($NotesGroupe2) + count($NotesGroupe1);
                      $total2 = array_sum($total1);
                      var_dump($total2);
                      $moyenne = $total2 / $sum_count;
                    var_dump($moyenne);
                  }
     
     
     
          }
     
          echo "</table><br>";
     
     
                 echo "La moyenne du groupe  est de :".$moyenne;
     
        }

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    avec in_array() :

    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
    $choixMultiple = (isset($_POST['laSelectionMultiple']) )? $_POST['laSelectionMultiple'] : []; //array
     
    if( !empty($choixMultiple) )
    {
    	if( in_array(1, $choixMultiple) && in_array(2, $choixMultiple) ){
    		echo 'OK, Groupe 1 ET Groupe 2';
    	} elseif( in_array(1, $choixMultiple) ){
    		echo 'OK, Groupe 1';
    	} elseif( in_array(2, $choixMultiple) ){
    		echo 'OK, Groupe 2';
    	} else {
    		echo 'Ni 1, ni 2';
    	}
    } else {
    		echo 'Vide';
    }

  5. #5
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2017
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2017
    Messages : 57
    Points : 39
    Points
    39
    Par défaut
    ca marche à merveille, merci bcp

  6. #6
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Je ne suis pas sûr que tu comprennes bien ce que tu fais, ton code n'est pas logique, tu parcours toutes les valeurs reçues et tu fais des tests en dehors de la valeur courante.
    Voici une version beaucoup plus simplifiée :
    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
    if (isset($_POST['laSelectionMultiple']) ) {
        $data    = [];
        [$a, $b] = [$_POST['laSelectionMultiple'][1] ?? 0, $_POST['laSelectionMultiple'][2] ?? 0];
     
        if ($a == 1) {
            $data = array_merge($data, $NotesGroupe1);
        }
     
        if ($b == 2) {
            $data = array_merge($data, $NotesGroupe2);
        }
     
        $total = [];
        foreach ($data as $note) {
            echo <<<html
    <tr>
      <td>{$note[0]}</td>
      <td>{$note[1]}</td>
      <td>{$note[2]}</td>
    </tr>
    html;
            $total[] = $note[4] * 0.2 + $note[5] * 0.4 + $note[6] * 0.4;
        }
        $moyenne = empty($total) ? 'Pas de données' : array_sum($total) / count($total);
        echo "</table><br>La moyenne du groupe  est de : {$moyenne}";
    }

  7. #7
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2017
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2017
    Messages : 57
    Points : 39
    Points
    39
    Par défaut
    c'est compliqué parce que je commence par calculer la moyenne de 3 notes d un array multidimensionnel et après je fais ca pour les deux groupes et à la fin je calcule la moyenne de la moyenne

  8. #8
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    Enfin, si l'utilisateur ne sélectionne qu'un seul groupe tu fais tous les calculs malgré tout ?
    Comment tu distingues tes groupes dans le tableau récap ?

  9. #9
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juillet 2017
    Messages
    57
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2017
    Messages : 57
    Points : 39
    Points
    39
    Par défaut
    oui faut que je fasse le calcul si l'utilisateur choisi le groupe un ou sil choisi le groupe deux ou les deux groupes

  10. #10
    Expert éminent sénior
    Avatar de rawsrc
    Homme Profil pro
    Dev indep
    Inscrit en
    Mars 2004
    Messages
    6 142
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Dev indep

    Informations forums :
    Inscription : Mars 2004
    Messages : 6 142
    Points : 16 545
    Points
    16 545
    Billets dans le blog
    12
    Par défaut
    A priori, c'est ce que doit faire mon code, non ?
    PS : j'avais fait une erreur de variable.

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

Discussions similaires

  1. Multi-selection dans une ComboBox ?
    Par Moloko dans le forum MFC
    Réponses: 5
    Dernier message: 07/07/2021, 17h26
  2. [jTable] Multi selection sur jtable
    Par doudine dans le forum Composants
    Réponses: 5
    Dernier message: 15/03/2006, 15h00
  3. Multi selection dans un TbdGrid
    Par LolHol dans le forum Bases de données
    Réponses: 2
    Dernier message: 27/10/2005, 10h23
  4. Recupération des selections sur une DBGrille multi Selection
    Par Andry dans le forum Bases de données
    Réponses: 1
    Dernier message: 26/11/2004, 11h43
  5. Problème de requete multis-selections
    Par tripper.dim dans le forum SQL
    Réponses: 9
    Dernier message: 03/09/2003, 13h08

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