Affichage des @modules par UE par étudiant (section [MODULES/MES MODULES])
This commit is contained in:
parent
802c4061e7
commit
eb29d683ee
|
@ -127,3 +127,23 @@ table.basic:nth-child(4n+3) tr:hover td{ background-color: rgba(45, 204, 112, 1)
|
||||||
/*********************/
|
/*********************/
|
||||||
/*** LIENS BOUTONS ***/
|
/*** LIENS BOUTONS ***/
|
||||||
/*********************/
|
/*********************/
|
||||||
|
span.link{
|
||||||
|
/* position */
|
||||||
|
padding: .3em .8em;
|
||||||
|
|
||||||
|
/* border */
|
||||||
|
border-radius: 5px;
|
||||||
|
border: 1px solid #ddd;
|
||||||
|
box-shadow: inset 0 0 1px #f5f5f5;
|
||||||
|
|
||||||
|
/* background */
|
||||||
|
background: #eee;
|
||||||
|
|
||||||
|
/* foreground */
|
||||||
|
color: #333;
|
||||||
|
|
||||||
|
/* extra */
|
||||||
|
cursor: pointer;
|
||||||
|
}
|
||||||
|
|
||||||
|
span.link:hover{ color: #000; }
|
|
@ -324,6 +324,96 @@ class DataBase{
|
||||||
return 'error';
|
return 'error';
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**************************************************/
|
||||||
|
/*** retourne les modules d'un étudiant par UEs ***/
|
||||||
|
/**************************************************/
|
||||||
|
public function getModulesByUEByEtudiant($etudiant, $semestre, $annee){
|
||||||
|
/*** on cherche un semestre avec ce rang et cette année (qui est unique) ***/
|
||||||
|
$getSemestreUID = $this->pdo->prepare("SELECT id_semestre as id FROM semestre WHERE rang = :rang AND annee = :annee");
|
||||||
|
$getSemestreUID->execute(array(
|
||||||
|
':rang' => $semestre,
|
||||||
|
':annee' => $annee
|
||||||
|
));
|
||||||
|
|
||||||
|
// si on trouve, on le définit, sinon on retourne "unknown_group"
|
||||||
|
if( $semestreUID = $getSemestreUID->fetch()['id'] )
|
||||||
|
$semestreUID = (int) $semestreUID;
|
||||||
|
else
|
||||||
|
return 'unknown_semestre';
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*** on cherche un utilisateur avec cet identifiant ***/
|
||||||
|
$getEtudiantUID = $this->pdo->prepare("SELECT identifiant as id FROM utilisateur WHERE identifiant = :etudiant");
|
||||||
|
$getEtudiantUID->execute(array(
|
||||||
|
':etudiant' => $etudiant
|
||||||
|
));
|
||||||
|
|
||||||
|
// si on trouve, on le définit, sinon on retourne "unknown_user"
|
||||||
|
if( $etudiantUID = $getEtudiantUID->fetch()['id'] )
|
||||||
|
$etudiantUID = $etudiantUID;
|
||||||
|
else
|
||||||
|
return 'unknown_user';
|
||||||
|
|
||||||
|
/*** on cherche le groupe de cet utilisateur ***/
|
||||||
|
$getGroupeUID = $this->pdo->prepare("SELECT g.id_groupe as id ".
|
||||||
|
"FROM utilisateur as u, groupe as g, appartenance as app, semestre as s ".
|
||||||
|
"WHERE app.id_etudiant = u.identifiant ".
|
||||||
|
"AND app.id_groupe = g.id_groupe ".
|
||||||
|
"AND app.id_semestre = s.id_semestre ".
|
||||||
|
|
||||||
|
"AND u.identifiant = :etudiantUID ".
|
||||||
|
"AND app.id_semestre = :semestreUID");
|
||||||
|
$getGroupeUID->execute(array(
|
||||||
|
':etudiantUID' => $etudiantUID,
|
||||||
|
':semestreUID' => $semestreUID,
|
||||||
|
));
|
||||||
|
|
||||||
|
// si on trouve, on le définit, sinon on retourne "unknown_user"
|
||||||
|
if( $groupeUID = $getGroupeUID->fetch()['id'] )
|
||||||
|
$groupeUID = $groupeUID;
|
||||||
|
else
|
||||||
|
return 'unknown_group';
|
||||||
|
|
||||||
|
$UEList = $this->getUEsEtudiant($etudiant, $semestre, $annee); // on récupère la liste des UEs
|
||||||
|
|
||||||
|
foreach($UEList as $iter=>$UE){
|
||||||
|
|
||||||
|
// si on a l'UID utilisateur & l'UID groupe => on récupère les modules
|
||||||
|
$getModuleList = $this->pdo->prepare("SELECT DISTINCT m.id_module as id, m.nom as nom, m.libelle as libelle ".
|
||||||
|
"FROM module as m, groupe as g, semestre as s, ue, appartenance as app, mcc_ue, mcc_module as mcc_m ".
|
||||||
|
"WHERE app.id_semestre = s.id_semestre ".
|
||||||
|
"AND app.id_groupe = g.id_groupe ".
|
||||||
|
"AND app.id_semestre = mcc_ue.id_semestre ".
|
||||||
|
|
||||||
|
"AND mcc_ue.id_ue = ue.id_ue ".
|
||||||
|
"AND mcc_ue.id_mcc_ue = mcc_m.id_mcc_ue ".
|
||||||
|
"AND mcc_m.id_module = m.id_module ".
|
||||||
|
|
||||||
|
"AND g.id_groupe = :groupeUID ".
|
||||||
|
"AND s.id_semestre = :semestreUID ".
|
||||||
|
"AND ue.id_ue = :UEUID ".
|
||||||
|
"ORDER BY m.nom, m.libelle ASC");
|
||||||
|
$getModuleList->execute(array(
|
||||||
|
':groupeUID' => $groupeUID,
|
||||||
|
':semestreUID' => $semestreUID,
|
||||||
|
':UEUID' => $UE['id']
|
||||||
|
));
|
||||||
|
|
||||||
|
$modulelist = $getModuleList->fetchAll(); // on récupère la liste des modules
|
||||||
|
|
||||||
|
// on supprime les doublons des entrées (indice numérique)
|
||||||
|
for( $i = 0 ; $i < count($modulelist) ; $i++ ) // pour tout les modules
|
||||||
|
foreach($modulelist[$i] as $col => $val) // pour toutes les entrées
|
||||||
|
if( is_int($col) ) // si l'indice est un entier
|
||||||
|
unset( $modulelist[$i][$col] ); // on le supprime
|
||||||
|
|
||||||
|
$UEList[$iter]['modules'] = $modulelist; // on ajoute la liste des mdules
|
||||||
|
}
|
||||||
|
|
||||||
|
return $UEList;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/******************************************/
|
/******************************************/
|
||||||
/*** retourne les modules d'un étudiant ***/
|
/*** retourne les modules d'un étudiant ***/
|
||||||
|
@ -407,7 +497,6 @@ class DataBase{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**************************************/
|
/**************************************/
|
||||||
/*** retourne les UEs d'un étudiant ***/
|
/*** retourne les UEs d'un étudiant ***/
|
||||||
/**************************************/
|
/**************************************/
|
||||||
|
@ -668,7 +757,7 @@ class DataBase{
|
||||||
|
|
||||||
|
|
||||||
// si on a l'UID utilisateur & l'UID groupe => on récupère les modules
|
// si on a l'UID utilisateur & l'UID groupe => on récupère les modules
|
||||||
$getModuleList = $this->pdo->prepare("SELECT note.intitule, note.valeur, note.base ".
|
$getModuleList = $this->pdo->prepare("SELECT m.nom as module, m.libelle as modulelib, note.intitule, note.valeur, note.base, note.coefficient ".
|
||||||
"FROM note, appartenance as app, semestre as s, module as m, mcc_ue, mcc_module as mcc_m ".
|
"FROM note, appartenance as app, semestre as s, module as m, mcc_ue, mcc_module as mcc_m ".
|
||||||
"WHERE note.id_appartenance = app.id_appartenance ".
|
"WHERE note.id_appartenance = app.id_appartenance ".
|
||||||
"AND note.id_mcc_module = mcc_m.id_mcc_module ".
|
"AND note.id_mcc_module = mcc_m.id_mcc_module ".
|
||||||
|
@ -765,7 +854,7 @@ class DataBase{
|
||||||
return 'unknown_UE';
|
return 'unknown_UE';
|
||||||
|
|
||||||
// si on a l'UID utilisateur & l'UID UE => on récupère les notes
|
// si on a l'UID utilisateur & l'UID UE => on récupère les notes
|
||||||
$getUEList = $this->pdo->prepare("SELECT m.nom as module, note.intitule, note.valeur, note.base ".
|
$getUEList = $this->pdo->prepare("SELECT m.nom as module, m.libelle as modulelib, note.intitule, note.valeur, note.base, note.coefficient ".
|
||||||
"FROM note, appartenance as app, semestre as s, module as m, ue, mcc_ue, mcc_module as mcc_m ".
|
"FROM note, appartenance as app, semestre as s, module as m, ue, mcc_ue, mcc_module as mcc_m ".
|
||||||
"WHERE note.id_appartenance = app.id_appartenance ".
|
"WHERE note.id_appartenance = app.id_appartenance ".
|
||||||
"AND note.id_mcc_module = mcc_m.id_mcc_module ".
|
"AND note.id_mcc_module = mcc_m.id_mcc_module ".
|
||||||
|
|
|
@ -36,6 +36,33 @@ require_once __ROOT__.'/manager/database.php';
|
||||||
/***********************************/
|
/***********************************/
|
||||||
/* liste des modules d'un ETUDIANT */
|
/* liste des modules d'un ETUDIANT */
|
||||||
/***********************************/
|
/***********************************/
|
||||||
|
// case 'getByEtudiant':
|
||||||
|
// $areSetParam = isset($request->etudiant) && isset($request->semestre) && isset($request->annee); // les arguments existent
|
||||||
|
// $typeOkParam = $areSetParam && is_string($request->etudiant) && is_string($request->semestre) && is_string($request->annee); // si c'est des strings
|
||||||
|
// $nEmptyParam = $typeOkParam && strlen($request->etudiant) > 0 && is_numeric($request->semestre) && is_numeric($request->annee); // des bon types
|
||||||
|
// $etudiantCheck = $nEmptyParam && preg_match('/^[\w -]{6,100}$/i', $request->etudiant); // nom bon format
|
||||||
|
// $semestreCheck = $etudiantCheck && preg_match('/^[1-4]{1}$/i', $request->semestre); // semestre (semestre) bon format
|
||||||
|
// $anneeCheck = $semestreCheck && preg_match('/^[0-9]{4}$/i', $request->annee); // semestre (annee) bon format
|
||||||
|
|
||||||
|
// if( $anneeCheck ){ // si tout les paramètres sont bons
|
||||||
|
// $modules = DataBase::getInstance()->getModulesEtudiant($request->etudiant, $request->semestre, $request->annee);
|
||||||
|
|
||||||
|
// // STRUCTURE
|
||||||
|
// // tableau d'UES contenant un tableau de MODULES
|
||||||
|
|
||||||
|
// if( is_array($modules) ){ // si on a bien un tableau
|
||||||
|
// $answer->modules = $modules; // on renvoie dans answer->modules
|
||||||
|
// $answer->request = 'success'; // et on renvoie success
|
||||||
|
// }else // sinon si c'est pas un tableau
|
||||||
|
// $answer->request = $modules; // on retourne l'erreur
|
||||||
|
// }else
|
||||||
|
// $answer->request = 'param_error';
|
||||||
|
// break;
|
||||||
|
|
||||||
|
|
||||||
|
/*******************************/
|
||||||
|
/* liste des UES d'un ETUDIANT */
|
||||||
|
/*******************************/
|
||||||
case 'getByEtudiant':
|
case 'getByEtudiant':
|
||||||
$areSetParam = isset($request->etudiant) && isset($request->semestre) && isset($request->annee); // les arguments existent
|
$areSetParam = isset($request->etudiant) && isset($request->semestre) && isset($request->annee); // les arguments existent
|
||||||
$typeOkParam = $areSetParam && is_string($request->etudiant) && is_string($request->semestre) && is_string($request->annee); // si c'est des strings
|
$typeOkParam = $areSetParam && is_string($request->etudiant) && is_string($request->semestre) && is_string($request->annee); // si c'est des strings
|
||||||
|
@ -45,13 +72,16 @@ require_once __ROOT__.'/manager/database.php';
|
||||||
$anneeCheck = $semestreCheck && preg_match('/^[0-9]{4}$/i', $request->annee); // semestre (annee) bon format
|
$anneeCheck = $semestreCheck && preg_match('/^[0-9]{4}$/i', $request->annee); // semestre (annee) bon format
|
||||||
|
|
||||||
if( $anneeCheck ){ // si tout les paramètres sont bons
|
if( $anneeCheck ){ // si tout les paramètres sont bons
|
||||||
$modules = DataBase::getInstance()->getModulesEtudiant($request->etudiant, $request->semestre, $request->annee);
|
$UEList = DataBase::getInstance()->getModulesByUEByEtudiant($request->etudiant, $request->semestre, $request->annee);
|
||||||
|
|
||||||
if( is_array($modules) ){ // si on a bien un tableau
|
// STRUCTURE
|
||||||
$answer->modules = $modules; // on renvoie dans answer->modules
|
// tableau d'UES contenant un tableau de MODULES
|
||||||
|
|
||||||
|
if( is_array($UEList) ){ // si on a bien un tableau
|
||||||
|
$answer->UEs = $UEList; // on renvoie dans answer->ues
|
||||||
$answer->request = 'success'; // et on renvoie success
|
$answer->request = 'success'; // et on renvoie success
|
||||||
}else // sinon si c'est pas un tableau
|
}else // sinon si c'est pas un tableau
|
||||||
$answer->request = $modules; // on retourne l'erreur
|
$answer->request = $UEList; // on retourne l'erreur
|
||||||
}else
|
}else
|
||||||
$answer->request = 'param_error';
|
$answer->request = 'param_error';
|
||||||
break;
|
break;
|
||||||
|
|
|
@ -42,7 +42,7 @@ if( $_SESSION['identifiant'] != null && $_SESSION['droits'] == 'student' ){ // s
|
||||||
|
|
||||||
foreach($answer->notes as $module){
|
foreach($answer->notes as $module){
|
||||||
|
|
||||||
echo "<table class='basic col2'>";
|
echo "<table class='basic col4'>";
|
||||||
echo "<thead class='active'>";
|
echo "<thead class='active'>";
|
||||||
echo '<tr>';
|
echo '<tr>';
|
||||||
echo '<th colspan=5>'.$module['module']['nom'].' - '.$module['module']['libelle'].'</th>';
|
echo '<th colspan=5>'.$module['module']['nom'].' - '.$module['module']['libelle'].'</th>';
|
||||||
|
@ -52,8 +52,10 @@ if( $_SESSION['identifiant'] != null && $_SESSION['droits'] == 'student' ){ // s
|
||||||
echo '<tbody>';
|
echo '<tbody>';
|
||||||
foreach($module['notes'] as $note){
|
foreach($module['notes'] as $note){
|
||||||
echo '<tr>';
|
echo '<tr>';
|
||||||
|
echo "<td><span class=link>".$note['module']." - ".$note['modulelib']."</span></td>";
|
||||||
echo '<td>'.$note['intitule'].'</td>';
|
echo '<td>'.$note['intitule'].'</td>';
|
||||||
echo '<td>'.$note['valeur'].'/'.$note['base'].'</td>';
|
echo '<td>'.$note['valeur'].'/'.$note['base'].'</td>';
|
||||||
|
echo '<td>'.$note['coefficient'].'</td>';
|
||||||
echo '</tr>';
|
echo '</tr>';
|
||||||
}
|
}
|
||||||
echo '</tbody>';
|
echo '</tbody>';
|
||||||
|
@ -94,7 +96,7 @@ if( $_SESSION['identifiant'] != null && $_SESSION['droits'] == 'student' ){ // s
|
||||||
|
|
||||||
foreach($answer->notes as $UE){
|
foreach($answer->notes as $UE){
|
||||||
|
|
||||||
echo "<table class='basic col3'>";
|
echo "<table class='basic col4'>";
|
||||||
echo "<thead class='active'>";
|
echo "<thead class='active'>";
|
||||||
echo '<tr>';
|
echo '<tr>';
|
||||||
echo '<th colspan=5>'.$UE['UE']['nom'].' - '.$UE['UE']['libelle'].'</th>';
|
echo '<th colspan=5>'.$UE['UE']['nom'].' - '.$UE['UE']['libelle'].'</th>';
|
||||||
|
@ -104,9 +106,10 @@ if( $_SESSION['identifiant'] != null && $_SESSION['droits'] == 'student' ){ // s
|
||||||
echo '<tbody>';
|
echo '<tbody>';
|
||||||
foreach($UE['notes'] as $note){
|
foreach($UE['notes'] as $note){
|
||||||
echo '<tr>';
|
echo '<tr>';
|
||||||
echo "<td><span class=link>".$note['module']."</span></td>";
|
echo "<td><span class=link>".$note['module']." - ".$note['modulelib']."</span></td>";
|
||||||
echo '<td>'.$note['intitule'].'</td>';
|
echo '<td>'.$note['intitule'].'</td>';
|
||||||
echo '<td>'.$note['valeur'].'/'.$note['base'].'</td>';
|
echo '<td>'.$note['valeur'].'/'.$note['base'].'</td>';
|
||||||
|
echo '<td>'.$note['coefficient'].'</td>';
|
||||||
echo '</tr>';
|
echo '</tr>';
|
||||||
}
|
}
|
||||||
echo '</tbody>';
|
echo '</tbody>';
|
||||||
|
|
|
@ -37,18 +37,21 @@ if( $_SESSION['identifiant'] != null && $_SESSION['droits'] == 'student' ){ // s
|
||||||
////////////////////////////////////////////////////////////////////////////////
|
////////////////////////////////////////////////////////////////////////////////
|
||||||
echo "<section name='mymodules' title='Mes modules' class='basic'>";
|
echo "<section name='mymodules' title='Mes modules' class='basic'>";
|
||||||
|
|
||||||
foreach($answer->modules as $module){
|
foreach($answer->UEs as $UE){
|
||||||
echo "<table class='basic'>";
|
echo "<table class='basic'>";
|
||||||
echo "<thead class='active'>";
|
echo "<thead class='active'>";
|
||||||
echo '<tr>';
|
echo '<tr>';
|
||||||
echo '<th colspan=5>'.$module['nom'].'</th>';
|
echo '<th colspan=5>'.$UE['nom'].' - '.$UE['libelle'].'</th>';
|
||||||
echo '</tr>';
|
echo '</tr>';
|
||||||
echo '</thead>';
|
echo '</thead>';
|
||||||
echo '<tbody>';
|
echo '<tbody>';
|
||||||
|
foreach($UE['modules'] as $MODULE){
|
||||||
echo '<tr>';
|
echo '<tr>';
|
||||||
echo '<td>'.$module['nom'].'</td>';
|
echo '<td>'.$MODULE['nom'].'</td>';
|
||||||
echo '<td>'.$module['libelle'].'</td>';
|
echo '<td>'.$MODULE['libelle'].'</td>';
|
||||||
echo '</tr>';
|
echo '</tr>';
|
||||||
|
}
|
||||||
|
|
||||||
echo '</tbody>';
|
echo '</tbody>';
|
||||||
echo '</table>';
|
echo '</table>';
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue