Modified menu of Quereinstiegsgebiete

Now the menu of Quereinstiegsgebiete is clustered and displayed by study.
This commit is contained in:
Cris
2019-04-24 16:52:20 +02:00
committed by cris-technikum
parent 803c1cb4c3
commit 617ed24073
4 changed files with 191 additions and 141 deletions
+86 -51
View File
@@ -197,59 +197,70 @@ if (isset($_SESSION['pruefling_id']))
(gebiet_id, semester)
semester,
gebiet_id,
STRING_AGG(studiengang_kz::TEXT, ', ' ORDER BY studiengang_kz) AS studiengang_kz_list,
bezeichnung,
reihung,
". $bezeichnung_mehrsprachig_sel. "
FROM
(
(SELECT
prestudent_data.semester AS ps_sem,
gebiet_id,
bezeichnung,
tbl_ablauf.studienplan_id,
tbl_ablauf.studiengang_kz,
tbl_ablauf.semester,
tbl_ablauf.reihung,
".$bezeichnung_mehrsprachig. "
FROM
prestudent_data
JOIN
testtool.tbl_ablauf USING (studiengang_kz)
JOIN
testtool.tbl_gebiet USING (gebiet_id)
WHERE
(prestudent_data.semester= 1 AND tbl_ablauf.semester = 1)
OR
(prestudent_data.semester= 3 AND tbl_ablauf.semester IN (1,3))
)
UNION
(
SELECT
prestudent_data.semester AS ps_sem,
gebiet_id,
bezeichnung,
tbl_ablauf.studienplan_id,
tbl_ablauf.studiengang_kz,
tbl_ablauf.semester,
tbl_ablauf.reihung,
". $bezeichnung_mehrsprachig. "
FROM
prestudent_data
JOIN
testtool.tbl_ablauf USING (studienplan_id)
JOIN
testtool.tbl_gebiet USING (gebiet_id)
WHERE
(prestudent_data.semester= 1 AND tbl_ablauf.semester = 1)
OR
(prestudent_data.semester= 3 AND tbl_ablauf.semester IN (1,3))
)
ORDER BY
reihung
) temp
FROM (
SELECT
*
FROM (
(SELECT
prestudent_data.semester AS ps_sem,
gebiet_id,
bezeichnung,
tbl_ablauf.studienplan_id,
tbl_ablauf.studiengang_kz,
tbl_ablauf.semester,
tbl_ablauf.reihung,
".$bezeichnung_mehrsprachig. "
FROM
prestudent_data
JOIN
testtool.tbl_ablauf USING (studiengang_kz)
JOIN
testtool.tbl_gebiet USING (gebiet_id)
WHERE
(prestudent_data.semester= 1 AND tbl_ablauf.semester = 1)
OR
(prestudent_data.semester= 3 AND tbl_ablauf.semester IN (1,3))
)
UNION
(
SELECT
prestudent_data.semester AS ps_sem,
gebiet_id,
bezeichnung,
tbl_ablauf.studienplan_id,
tbl_ablauf.studiengang_kz,
tbl_ablauf.semester,
tbl_ablauf.reihung,
". $bezeichnung_mehrsprachig. "
FROM
prestudent_data
JOIN
testtool.tbl_ablauf USING (studienplan_id)
JOIN
testtool.tbl_gebiet USING (gebiet_id)
WHERE
(prestudent_data.semester= 1 AND tbl_ablauf.semester = 1)
OR
(prestudent_data.semester= 3 AND tbl_ablauf.semester IN (1,3))
)
) temp
) temp2
GROUP BY
semester,
gebiet_id,
bezeichnung,
reihung,
bezeichnung_mehrsprachig_1,
bezeichnung_mehrsprachig_2,
bezeichnung_mehrsprachig_3,
bezeichnung_mehrsprachig_4
ORDER BY
semester,
@@ -259,6 +270,7 @@ if (isset($_SESSION['pruefling_id']))
$result = $db->db_query($qry);
$lastsemester = '';
$quereinsteiger_stg = '';
while($row = $db->db_fetch_object($result))
{
@@ -273,8 +285,31 @@ if (isset($_SESSION['pruefling_id']))
$lastsemester = $row->semester;
echo '<table border="0" cellspacing="0" cellpadding="0" id="Gebiet" style="display: visible; border-collapse: separate; border-spacing: 0 6px;">';
echo '<tr><td class="HeaderTesttool">'.$row->semester.'. '.$p->t('testtool/semester').' '.($row->semester!='1'?$p->t('testtool/quereinstieg'):'').'</td></tr>';
/*echo '<tr><td class="HeaderTesttool">'.$row->semester.'. '.$p->t('testtool/semester').' '.($row->semester!='1'?$p->t('testtool/quereinstieg'):'').'</td></tr>';*/
echo '<tr><td class="HeaderTesttool">'. ($row->semester == '1' ? strtoupper($p->t('testtool/basic')) : strtoupper($p->t('testtool/quereinsteiger'))).'</td></tr>';
}
// Bei Quereinstiegsgebieten nach STG clustern und die STG anzeigen
if($row->semester != '1')
{
if($quereinsteiger_stg != $row->studiengang_kz_list)
{
echo "<br>"; // Abstand zwischen Erstsemester- und Quereinstiegs-Gebietsblock
$quereinsteiger_stg = $row->studiengang_kz_list;
$quereinsteiger_stg_arr = explode(',', $row->studiengang_kz_list);
$quereinsteiger_stg_string = '';
$cnt = 0;
foreach ($quereinsteiger_stg_arr as $qe_stg)
{
$stg = new Studiengang($qe_stg);
$quereinsteiger_stg_string .= ($cnt > 0) ? ",<br>" : '';
$quereinsteiger_stg_string .= $stg->bezeichnung;
$cnt++;
}
echo '<tr><td class="HeaderTesttoolSTG">'. $quereinsteiger_stg_string. '</td></tr>';
}
}
$gebiet = new gebiet();
if($gebiet->check_gebiet($row->gebiet_id))
{