Bonjour,

Soit un tableau comme suit:
Nom : Capture d’écran 2015-12-08 à 15.33.29.png
Affichages : 105
Taille : 13,8 Ko

Je souhaite créer un array($classe) qui contiendra lui même des array($nom_eleve), un pour chaque élève.
L'array($nom_eleve) aura ainsi pour chaque devoir une clef('num_devoir') et pour valeur la note correspondante ('note').

Pour Marie, le résultat serait donc:
$Marie = array(
#D1 => 8
#D2 => 5
#D4 => 10;
)

Ceci afin de pouvoir réaliser un tableau avec toutes les notes par élève.
J'ai un code qui fonctionne à moitié, mais qui bloque au moment où l'array est déjà trouvé et qu'il faut y insérer une nouvelle clef+valeur.
Le problème notamment et que les arrays et leurs clefs ont des noms dynamiques et je ne m'y retrouve pas lorsqu'il faut ajouter une clef à tel array.
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
<?php
                    $bdd = new PDO('mysql:host=localhost;dbname=test19_11', 'root', 'root', array(PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION));
                    $requete = $bdd->prepare('SELECT * FROM `voti` ORDER BY `Nom_Eleve` ASC');
 
                     $requete->execute();                        
                     $classe = array();
 
                      while ($data = $requete->fetch())
                              {
                                if (!isset($classe[$data['Nom_Eleve']]))
                                      {
                                        //l'array de l'élève n'existe pas, il est donc créé. Cette partie marche.
                                        $classe[$data['Nom_Eleve']] = array(
                                          'D'.$data['Num_Devoir'] => $data['Note'] );
                                      }
                              else
                              {
                                //L'array existe déjà, 'D'.$data['Num_Devoir']=> $data['Note'] est ajoutée à l'array.
                                $classe[$data['Nom_Eleve']['D'.$data['Num_Devoir']]] =  $data['Note'] );
                              }
 
                              } 
                               '<p>'.var_dump($classe).'</p>';?>
Comment puis-je faire pour ajouter $classe[$data['Marie'][D4]] => $data['Note'] par exemple ?
Je me suis perdu. Peut-être faut-il renommer les arrays de suite du genre $eleve = $classe[$data['Nom_Eleve']] pour pouvoir ensuite l'appeler facilement?

D'avance merci beaucoup pour votre temps