Recuperation des données dans deux tables

solomonn Messages postés 20 Date d'inscription dimanche 15 février 2015 Statut Membre Dernière intervention 26 juillet 2018 - 26 juil. 2018 à 14:14
jordane45 Messages postés 38206 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 14 juin 2024 - 26 juil. 2018 à 15:21
Bonjour,
J'ai un souci sur mon projet.
j'ai quatre tables dans mon BDD SQL:
Une table "matieres" (id , nom )
Une table "eleves"(id, nom, prenom.)
Une table "notes" (id, id_eleve, id_matiere,id_ue, note1, note2)
Une table "UE" (id, nom_ue)
Et mon souci c'est que je sais pas comment afficher mes donnée dans la table comme cet apercu ci-dessous:


Juste une idée svp
Merci d'avance

1 réponse

jordane45 Messages postés 38206 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 14 juin 2024 344
26 juil. 2018 à 15:21
Bonjour,

Premièrement, il va falloir faire une requête SQL avec JOINTURE
Un truc du genre
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


Ensuite, il faudra, à l'aide de BOUCLES php, parcourir le résultat de cette requête pour générer l'affichage désiré.

Moi je commencerai par créer un array associatif un peu mieux organisé que celui généré par la requête...
un truc du genre
// $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']);
}

0
Rejoignez-nous