[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
|
||||
*
|
||||
|
@ -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