/** * Retourne l'objet correspondant à l'id donné. * * @param int $id Identifiant de l'objet à trouver * @return Module */ public static function findById($id) { $data = BaseSingleton::select('SELECT module.id as id, module.bareme_id as bareme_id, module.label as label, module.description as description, ' . 'module.date_creation as date_creation, module.number as number, module.affiche as affiche, assignment.id as assignment_id, exam.id as exam_id ' . 'FROM module, assignment, exam ' . 'WHERE module.id = assignment.module_id AND module.id = exam.module_id AND ' . 'module.id = ? ' . 'GROUP BY module.id', array('i', &$id)); $module = new Module(); // var_dump($data); $module->hydrate($data[0]); $eleves = UserDAL::findAllByModule($module); foreach ($eleves as $eleve) { $module->inscrireEleve($eleve); } return $module; }
<?php require_once $_SERVER['DOCUMENT_ROOT'] . '/SERS/SERS/model/class/Serie.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/SERS/SERS/model/DAL/ModuleDAL.php'; require_once $_SERVER['DOCUMENT_ROOT'] . '/SERS/SERS/model/DAL/UserDAL.php'; $moduleId = filter_input(INPUT_GET, 'module_id', FILTER_SANITIZE_NUMBER_INT); $module = ModuleDAL::findById($moduleId); $students = UserDAL::findAllByModule($module); $data = array(); $bigdata = array(); foreach ($students as $student) { $nomSerie = new Serie("nom"); $prenomSerie = new Serie("prenom"); $passSerie = new Serie("pass"); $userSerie = new Serie("user"); $nomSerie->data = $student->getNom(); $prenomSerie->data = $student->getPrenom(); $pass = $student->getSuccessModule($moduleId); if ($pass === 1) { $studentPass = '******'; } else { if ($pass === 0) { $studentPass = '******'; } else { $studentPass = '******'; } } $passSerie->data = $studentPass; $userSerie->data = array($nomSerie, $prenomSerie, $passSerie); $data[] = $userSerie; }
/** * Méthode qui retourne le pourçentage d'étudiant qui ont le module * Compris entre 0 et 1 * @return double */ public function getPourcentageHaveModule() { $moduleId = $this->id; $cptEleveSuccess = 0; $cptEleveNonNote = 0; $mesEleves = UserDAL::findAllByModule($this); $cptEleveTotal = sizeof($mesEleves); foreach ($mesEleves as $eleve) { if ($eleve->getSuccessModule($moduleId) === 1) { $cptEleveSuccess++; //incr le compteur des eleve qui ont win leur module } if ($eleve->getSuccessModule($moduleId) === 2) { $cptEleveNonNote++; //incr le compteur des eleve pas evaluable } } if ($cptEleveTotal != 0 && $cptEleveNonNote === 0) { $percentSuccess = $cptEleveSuccess * 1.0 / ($cptEleveTotal * 1.0); } else { if (empty($mesEleves) || $cptEleveNonNote > 0) { $percentSuccess = -1; } } return $percentSuccess; }