SELECT N.* ,M.nom as matiere , concat(E.nom , " ", E.prenom) as nom_eleve , U.nom_ue FROM notes N LEFT JOIN matieres M ON M.id = N.id_matiere LEFT JOIN eleves E ON E.id = N.id_eleve LEFT JOIN UE U ON U.id = N.id_ue
// $result: array issu de ta requête SQL // $newArr : array restructuré pour facilité son utilisation $newArr = array(); foreach($result as $R){ $newArr[$R['matiere']][$R['nom_ue']][$R['nom_eleve']] = array("Note1"=>$R['Note1'],"Note2"=>$R['Note2']); }