// //////////////////////////////////////////////////////////////////////////////////////////////////// // Cas 3/3 imprimer_donnees_eleves_moyennes : Tableau des notes pour chaque élève // //////////////////////////////////////////////////////////////////////////////////////////////////// if ($action == 'imprimer_donnees_eleves_moyennes') { // Récupérer les notes enregistrées pour tous les collègues, pour toutes les épreuves $tab_saisie = array(); // [eleve_id][epreuve_code] => note; $DB_TAB = DB_STRUCTURE_BREVET::DB_recuperer_brevet_saisies_eleves($liste_eleve_id, 0, FALSE, FALSE); foreach ($DB_TAB as $DB_ROW) { if ($tab_eleve_infos[$DB_ROW['eleve_id']]['eleve_brevet_serie'] == $DB_ROW['brevet_serie_ref']) { $note = is_numeric($DB_ROW['saisie_note']) ? number_format($DB_ROW['saisie_note'], 1, ',', '') : $DB_ROW['saisie_note']; $tab_saisie[$DB_ROW['eleve_id']][$DB_ROW['brevet_serie_ref'] . $DB_ROW['brevet_epreuve_code']] = $note; } } // Récupérer les notes enregistrées pour la classe $DB_TAB = DB_STRUCTURE_BREVET::DB_recuperer_brevet_saisies_classe($classe_id, 0, FALSE, FALSE); foreach ($DB_TAB as $DB_ROW) { $note = is_numeric($DB_ROW['saisie_note']) ? number_format($DB_ROW['saisie_note'], 1, ',', '') : $DB_ROW['saisie_note']; $tab_saisie[0][$DB_ROW['brevet_serie_ref'] . $DB_ROW['brevet_epreuve_code']] = $note; } // Pour insérer le groupe classe en dernier $tab_eleve_id[] = 0; $tab_eleve_infos[0] = array('eleve_nom' => $classe_nom, 'eleve_prenom' => ''); // Fabrication du PDF ; on a besoin de tourner du texte à 90° // Fabrication d'un CSV en parallèle $tab_brevet_epreuve[$serie_ref][CODE_BREVET_EPREUVE_TOTAL] = 'Total des points'; $nb_epreuves = count($tab_brevet_epreuve, COUNT_RECURSIVE) - count($tab_brevet_epreuve); $archivage_tableau_PDF = new PDF_archivage_tableau(FALSE, 'portrait', 10, 10, 5, 12, 'non'); $archivage_tableau_PDF->moyennes_initialiser($nb_eleves + 1, $nb_epreuves); $archivage_tableau_CSV = ''; $separateur = ';';
} } // //////////////////////////////////////////////////////////////////////////////////////////////////// // Récupération des notes et appréciations des fiches brevet par élève // //////////////////////////////////////////////////////////////////////////////////////////////////// // Récupérer les saisies déjà effectuées pour le bilan officiel concerné $DB_TAB = DB_STRUCTURE_BREVET::DB_recuperer_brevet_saisies_eleves( $liste_eleve , 0 /*prof_id*/ , FALSE /*with_epreuve_nom*/ , FALSE /*only_total*/ ); foreach($DB_TAB as $DB_ROW) { $prof_info = ($DB_ROW['prof_id']) ? afficher_identite_initiale( $DB_ROW['user_nom'] , FALSE , $DB_ROW['user_prenom'] , TRUE , $DB_ROW['user_genre'] ) : '' ; $tab_eleve_saisie[$DB_ROW['eleve_id']][$DB_ROW['brevet_epreuve_code']] = array( 'matieres_id'=>$DB_ROW['matieres_id'] , 'prof_id'=>$DB_ROW['prof_id'] , 'prof_info'=>$prof_info , 'appreciation'=>$DB_ROW['saisie_appreciation'] , 'note'=>$DB_ROW['saisie_note'] ); } $DB_TAB = DB_STRUCTURE_BREVET::DB_recuperer_brevet_saisies_classe( $classe_id , 0 /*prof_id*/ , FALSE /*with_epreuve_nom*/ , FALSE /*only_total*/ ); foreach($DB_TAB as $DB_ROW) { $tab_eleve_saisie[0][$DB_ROW['brevet_epreuve_code']] = $DB_ROW['saisie_note']; } // //////////////////////////////////////////////////////////////////////////////////////////////////// /* * Libérer de la place mémoire car les scripts de bilans sont assez gourmands. * Supprimer $DB_TAB ne fonctionne pas si on ne force pas auparavant la fermeture de la connexion. * SebR devrait peut-être envisager d'ajouter une méthode qui libère cette mémoire, si c'est possible... */ // //////////////////////////////////////////////////////////////////////////////////////////////////// DB::close(SACOCHE_STRUCTURE_BD_NAME); unset($DB_TAB);