[repo.cours] getForProfessor [repo.td] getForProfessor [repo.tp] getForProfessor
This commit is contained in:
parent
daddb8ebcf
commit
e153b7ecb4
|
@ -201,7 +201,7 @@ class cours extends Repo_i {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* (x) Get groups for a specific UE
|
/* (6) Get groups for a specific UE
|
||||||
*
|
*
|
||||||
* @code<String> UE code
|
* @code<String> UE code
|
||||||
*
|
*
|
||||||
|
@ -246,4 +246,49 @@ class cours extends Repo_i {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* (7) Get groups for a specific Professor
|
||||||
|
*
|
||||||
|
* @prof_id<int> Professor ID
|
||||||
|
*
|
||||||
|
* @return groups<array> The list of groups for this Professor
|
||||||
|
* NULL on error
|
||||||
|
*
|
||||||
|
---------------------------------------------------------*/
|
||||||
|
public function getForProfessor(int $prof_id) : ?array{
|
||||||
|
|
||||||
|
/* (1) Prepare statement */
|
||||||
|
$st = $this->pdo->prepare("SELECT
|
||||||
|
c.UE_code code,
|
||||||
|
ue.label label,
|
||||||
|
c.idCours,
|
||||||
|
IFNULL(lform.flist, '[]') formations,
|
||||||
|
c.volume
|
||||||
|
FROM Cours c
|
||||||
|
LEFT JOIN ( SELECT gc.Cours_idCours idCours, CONCAT('[', GROUP_CONCAT(DISTINCT gc.Formation_idFormation),']') flist
|
||||||
|
FROM GroupeCours gc
|
||||||
|
GROUP BY gc.Cours_idCours
|
||||||
|
ORDER BY gc.Formation_idFormation DESC
|
||||||
|
) lform ON c.idCours = lform.idCours
|
||||||
|
JOIN UE ue ON ue.code = c.UE_code
|
||||||
|
WHERE c.Professeur_idProfesseur = :prof_id;");
|
||||||
|
|
||||||
|
/* (2) Check statement */
|
||||||
|
if( is_bool($st) )
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
/* (3) Execute statement */
|
||||||
|
$success = $st->execute([':prof_id' => $prof_id]);
|
||||||
|
|
||||||
|
/* (4) Check error */
|
||||||
|
if( !$success )
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
/* (5) Dispatch fetch result */
|
||||||
|
return $st->fetchAll();
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
|
@ -246,4 +246,49 @@ class td extends Repo_i {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* (7) Get groups for a specific Professor
|
||||||
|
*
|
||||||
|
* @prof_id<int> Professor ID
|
||||||
|
*
|
||||||
|
* @return groups<array> The list of groups for this Professor
|
||||||
|
* NULL on error
|
||||||
|
*
|
||||||
|
---------------------------------------------------------*/
|
||||||
|
public function getForProfessor(int $prof_id) : ?array{
|
||||||
|
|
||||||
|
/* (1) Prepare statement */
|
||||||
|
$st = $this->pdo->prepare("SELECT
|
||||||
|
td.UE_code code,
|
||||||
|
ue.label label,
|
||||||
|
td.idTD,
|
||||||
|
IFNULL(lform.flist, '[]') formations,
|
||||||
|
td.volume
|
||||||
|
FROM TD td
|
||||||
|
LEFT JOIN ( SELECT gtd.TD_idTD idTD, CONCAT('[', GROUP_CONCAT(DISTINCT gtd.Formation_idFormation),']') flist
|
||||||
|
FROM GroupeTD gtd
|
||||||
|
GROUP BY gtd.TD_idTD
|
||||||
|
ORDER BY gtd.Formation_idFormation DESC
|
||||||
|
) lform ON td.idTD = lform.idTD
|
||||||
|
JOIN UE ue ON ue.code = td.UE_code
|
||||||
|
WHERE td.Professeur_idProfesseur = :prof_id;");
|
||||||
|
|
||||||
|
/* (2) Check statement */
|
||||||
|
if( is_bool($st) )
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
/* (3) Execute statement */
|
||||||
|
$success = $st->execute([':prof_id' => $prof_id]);
|
||||||
|
|
||||||
|
/* (4) Check error */
|
||||||
|
if( !$success )
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
/* (5) Dispatch fetch result */
|
||||||
|
return $st->fetchAll();
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
|
@ -246,4 +246,49 @@ class tp extends Repo_i {
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/* (7) Get groups for a specific Professor
|
||||||
|
*
|
||||||
|
* @prof_id<int> Professor ID
|
||||||
|
*
|
||||||
|
* @return groups<array> The list of groups for this Professor
|
||||||
|
* NULL on error
|
||||||
|
*
|
||||||
|
---------------------------------------------------------*/
|
||||||
|
public function getForProfessor(int $prof_id) : ?array{
|
||||||
|
|
||||||
|
/* (1) Prepare statement */
|
||||||
|
$st = $this->pdo->prepare("SELECT
|
||||||
|
tp.UE_code code,
|
||||||
|
ue.label label,
|
||||||
|
tp.idTP,
|
||||||
|
IFNULL(lform.flist, '[]') formations,
|
||||||
|
tp.volume
|
||||||
|
FROM TP tp
|
||||||
|
LEFT JOIN ( SELECT gtp.TP_idTP idTP, CONCAT('[', GROUP_CONCAT(DISTINCT gtp.Formation_idFormation),']') flist
|
||||||
|
FROM GroupeTP gtp
|
||||||
|
GROUP BY gtp.TP_idTP
|
||||||
|
ORDER BY gtp.Formation_idFormation DESC
|
||||||
|
) lform ON tp.idTP = lform.idTP
|
||||||
|
JOIN UE ue ON ue.code = tp.UE_code
|
||||||
|
WHERE tp.Professeur_idProfesseur = :prof_id;");
|
||||||
|
|
||||||
|
/* (2) Check statement */
|
||||||
|
if( is_bool($st) )
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
/* (3) Execute statement */
|
||||||
|
$success = $st->execute([':prof_id' => $prof_id]);
|
||||||
|
|
||||||
|
/* (4) Check error */
|
||||||
|
if( !$success )
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
/* (5) Dispatch fetch result */
|
||||||
|
return $st->fetchAll();
|
||||||
|
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
Loading…
Reference in New Issue