, * Andreas Oesterreicher and * Rudolf Hangl . */ /* * Erstellt eine Liste der Studenten eines Studiensemesters * Aufteilung in * - Anzahl Gesamt * - Prozent Anteil * - Vollzeit/Berufsbegleitend * - Geschlecht * - Herkunft (AT/EU/Nicht EU) */ require_once('../../config/vilesci.config.inc.php'); require_once('../../include/studiensemester.class.php'); require_once('../../include/benutzerberechtigung.class.php'); require_once('../../include/functions.inc.php'); require_once('../../include/organisationsform.class.php'); $db = new basis_db(); $stsem_obj = new studiensemester(); if(isset($_GET['stsem'])) $stsem = $_GET['stsem']; else { $stsem = $stsem_obj->getaktorNext(); } $stsem_obj->load($stsem); $orgform = new organisationsform(); $orgform->getAll(); $orgform_arr = array(); foreach($orgform->result as $row_orgform) if($row_orgform->rolle==true) $orgform_arr[] = $row_orgform->orgform_kurzbz; echo ' '; echo "

Studierendenstatistik $stsem"; echo ''.date('d.m.Y').'


'; echo ''; echo '
Studiensemester:


'; if($stsem!='') { echo ""; foreach($orgform_arr as $row_orgform) echo ""; echo " "; //Bachelor $qry = "SELECT studiengang_kz, kurzbz, typ, kurzbzlang, bezeichnung, orgform_kurzbz, mischform, (SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id) WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz='$stsem' ) a) AS gesamt_stg, (SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id) JOIN public.tbl_studiengang USING(studiengang_kz) WHERE status_kurzbz='Student' AND studiensemester_kurzbz=".$db->db_add_param($stsem)." AND typ='b' ) a) AS gesamt_alle, (SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id) WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Incoming' AND studiensemester_kurzbz=".$db->db_add_param($stsem)." ) a) AS inc, (SELECT count(*) FROM (SELECT distinct student_uid FROM public.tbl_student JOIN bis.tbl_bisio USING (student_uid) WHERE studiengang_kz=stg.studiengang_kz AND (bis>=".$db->db_add_param($stsem_obj->start)." OR bis is null) AND von<=".$db->db_add_param($stsem_obj->ende)." ) a) AS out,"; foreach($orgform_arr as $row_orgform) { $qry.=" (SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id) WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz=".$db->db_add_param($stsem)." AND orgform_kurzbz=".$db->db_add_param($row_orgform)." ) a) AS orgform_".$row_orgform.","; } $qry.=" (SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id) JOIN public.tbl_person USING(person_id) WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz=".$db->db_add_param($stsem)." AND geschlecht='w' ) a) AS w, (SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id) JOIN public.tbl_person USING(person_id) WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz=".$db->db_add_param($stsem)." AND geschlecht='m' ) a) AS m, (SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id) JOIN public.tbl_person USING(person_id) JOIN bis.tbl_nation on(staatsbuergerschaft=nation_code) WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz=".$db->db_add_param($stsem)." AND nation_code='A' ) a) AS herkunft_at, (SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id) JOIN public.tbl_person USING(person_id) JOIN bis.tbl_nation on(staatsbuergerschaft=nation_code) WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz=".$db->db_add_param($stsem)." AND eu AND nation_code<>'A' ) a) AS herkunft_eu, (SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id) JOIN public.tbl_person USING(person_id) JOIN bis.tbl_nation on(staatsbuergerschaft=nation_code) WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz=".$db->db_add_param($stsem)." AND NOT eu ) a) AS herkunft_noteu, true FROM public.tbl_studiengang stg WHERE studiengang_kz>0 AND studiengang_kz<10000 AND aktiv AND typ='b' ORDER BY typ, kurzbzlang; "; if($result = $db->db_query($qry)) { $gesamt=0; $gesamt_prozent=0; foreach($orgform_arr as $row_orgform) $gesamt_orgform[$row_orgform] = 0; $gesamt_m=0; $gesamt_w=0; $gesamt_at=0; $gesamt_eu=0; $gesamt_noteu=0; $gesamt_inc=0; $gesamt_out=0; while($row = $db->db_fetch_object($result)) { echo ''; echo ''; echo ""; $prozent = ($row->gesamt_alle!=0?$row->gesamt_stg/$row->gesamt_alle*100:0); echo ""; echo ""; foreach($orgform_arr as $row_orgform) { echo ""; } echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; $gesamt+=$row->gesamt_stg; $gesamt_prozent+=$prozent; $gesamt_m += $row->m; $gesamt_w += $row->w; $gesamt_at += $row->herkunft_at; $gesamt_eu += $row->herkunft_eu; $gesamt_noteu += $row->herkunft_noteu; $gesamt_inc+=$row->inc; $gesamt_out+=$row->out; } echo ''; echo ''; echo ""; echo ""; echo ""; foreach($orgform_arr as $row_orgform) echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; } $gesamtsumme = $gesamt; $gesamtsumme_prozent = $gesamt_prozent; $gesamtsumme_orgform = array(); foreach($orgform_arr as $row_orgform) { $gesamtsumme_orgform[$row_orgform] = $gesamt_orgform[$row_orgform]; } $gesamtsumme_m = $gesamt_m; $gesamtsumme_w = $gesamt_w; $gesamtsumme_at = $gesamt_at; $gesamtsumme_eu = $gesamt_eu; $gesamtsumme_noteu = $gesamt_noteu; $gesamtsumme_inc = $gesamt_inc; $gesamtsumme_out = $gesamt_out; //Master echo ' '; foreach($orgform_arr as $row_orgform) echo ''; echo ' '; $qry = "SELECT studiengang_kz, kurzbz, typ, kurzbzlang, bezeichnung, orgform_kurzbz,mischform, (SELECT count(*) FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id) WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz='".addslashes($stsem)."' ) AS gesamt_stg, (SELECT count(*) FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id) JOIN public.tbl_studiengang USING(studiengang_kz) WHERE status_kurzbz='Student' AND studiensemester_kurzbz=".$db->db_add_param($stsem)." AND typ='m' ) AS gesamt_alle, (SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id) WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Incoming' AND studiensemester_kurzbz=".$db->db_add_param($stsem)." ) a) AS inc, (SELECT count(*) FROM (SELECT distinct student_uid FROM public.tbl_student JOIN bis.tbl_bisio USING (student_uid) WHERE studiengang_kz=stg.studiengang_kz AND (bis>=".$db->db_add_param($stsem_obj->start)." OR bis is null) AND von<=".$db->db_add_param($stsem_obj->ende)." ) a) AS out,"; foreach($orgform_arr as $row_orgform) { $qry .= " (SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id) WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz=".$db->db_add_param($stsem)." AND orgform_kurzbz=".$db->db_add_param($row_orgform)." ) a) AS orgform_".$row_orgform.","; } $qry .= " (SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id) JOIN public.tbl_person USING(person_id) WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz=".$db->db_add_param($stsem)." AND geschlecht='w' ) a) AS w, (SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id) JOIN public.tbl_person USING(person_id) WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz=".$db->db_add_param($stsem)." AND geschlecht='m' ) a) AS m, (SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id) JOIN public.tbl_person USING(person_id) JOIN bis.tbl_nation on(staatsbuergerschaft=nation_code) WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz=".$db->db_add_param($stsem)." AND nation_code='A' ) a) AS herkunft_at, (SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id) JOIN public.tbl_person USING(person_id) JOIN bis.tbl_nation on(staatsbuergerschaft=nation_code) WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz=".$db->db_add_param($stsem)." AND eu AND nation_code<>'A' ) a) AS herkunft_eu, (SELECT count(*) FROM (SELECT distinct prestudent_id FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus USING (prestudent_id) JOIN public.tbl_person USING(person_id) JOIN bis.tbl_nation on(staatsbuergerschaft=nation_code) WHERE studiengang_kz=stg.studiengang_kz AND status_kurzbz='Student' AND studiensemester_kurzbz=".$db->db_add_param($stsem)." AND NOT eu ) a) AS herkunft_noteu, true FROM public.tbl_studiengang stg WHERE studiengang_kz>0 AND studiengang_kz<10000 AND aktiv AND typ='m' ORDER BY typ, kurzbzlang; "; if($result = $db->db_query($qry)) { $gesamt=0; $gesamt_prozent=0; foreach($orgform_arr as $row_orgform) $gesamt_orgform[$row_orgform] = 0; $gesamt_m=0; $gesamt_w=0; $gesamt_at=0; $gesamt_eu=0; $gesamt_noteu=0; $gesamt_inc=0; $gesamt_out=0; while($row = $db->db_fetch_object($result)) { echo ''; echo ''; echo ""; $prozent = ($row->gesamt_alle!=0?$row->gesamt_stg/$row->gesamt_alle*100:0); echo ""; echo ""; foreach($orgform_arr as $row_orgform) { echo ""; } echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; $gesamt+=$row->gesamt_stg; $gesamt_prozent+=$prozent; $gesamt_m += $row->m; $gesamt_w += $row->w; $gesamt_at += $row->herkunft_at; $gesamt_eu += $row->herkunft_eu; $gesamt_noteu += $row->herkunft_noteu; $gesamt_inc+=$row->inc; $gesamt_out+=$row->out; } echo ''; echo ''; echo ""; echo ""; echo ""; foreach($orgform_arr as $row_orgform) { echo ""; } echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; } $gesamtsumme += $gesamt; $gesamtsumme_prozent = 100; foreach($orgform_arr as $row_orgform) $gesamtsumme_orgform[$row_orgform] += $gesamt_orgform[$row_orgform]; $gesamtsumme_m += $gesamt_m; $gesamtsumme_w += $gesamt_w; $gesamtsumme_at += $gesamt_at; $gesamtsumme_eu += $gesamt_eu; $gesamtsumme_noteu += $gesamt_noteu; $gesamtsumme_inc += $gesamt_inc; $gesamtsumme_out += $gesamt_out; echo ''; echo ''; echo ""; echo ""; echo ""; foreach($orgform_arr as $row_orgform) echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; echo '
Anteil an Gesamt Extern Studienart Geschlecht Staatsbürgerschaft
Bachelor Studiengänge Absolut / % In / Out".$row_orgform."m w Österreich EU Nicht-EU
 ".mb_strtoupper($row->typ.$row->kurzbz)." ($row->kurzbzlang)$row->gesamt_stg / ".sprintf('%0.2f', $prozent)." %$row->inc / $row->out"; if($row->orgform_kurzbz == $row_orgform && $db->db_parse_bool($row->mischform) == false) { echo $row->gesamt_stg; $gesamt_orgform[$row_orgform] += $row->gesamt_stg; } else { echo $row->{'orgform_'.mb_strtolower($row_orgform)}; $gesamt_orgform[$row_orgform] += $row->{'orgform_'.mb_strtolower($row_orgform)}; } echo "$row->m$row->w$row->herkunft_at$row->herkunft_eu$row->herkunft_noteu
SUMME $gesamt / ".sprintf('%0.2f', $gesamt_prozent)." %$gesamt_inc / $gesamt_out".$gesamt_orgform[$row_orgform]."$gesamt_m$gesamt_w$gesamt_at$gesamt_eu$gesamt_noteu
Master Studiengänge Absolut / % In / Out'.$row_orgform.'m w Österreich EU Nicht-EU
 ".mb_strtoupper($row->typ.$row->kurzbz)." ($row->kurzbzlang)$row->gesamt_stg / ".sprintf('%0.2f', $prozent)." %$row->inc / $row->out"; if($row->orgform_kurzbz == $row_orgform && $db->db_parse_bool($row->mischform) == false) { echo $row->gesamt_stg; $gesamt_orgform[$row_orgform] += $row->gesamt_stg; } else { echo $row->{'orgform_'.mb_strtolower($row_orgform)}; $gesamt_orgform[$row_orgform] += $row->{'orgform_'.mb_strtolower($row_orgform)}; } echo "$row->m$row->w$row->herkunft_at$row->herkunft_eu$row->herkunft_noteu
SUMME $gesamt / ".sprintf('%0.2f', $gesamt_prozent)." %$gesamt_inc / $gesamt_out".$gesamt_orgform[$row_orgform]."$gesamt_m$gesamt_w$gesamt_at$gesamt_eu$gesamt_noteu
GESAMTSUMME $gesamtsumme / ".sprintf('%0.2f', $gesamtsumme_prozent)." %$gesamtsumme_inc / $gesamtsumme_out".$gesamtsumme_orgform[$row_orgform]."$gesamtsumme_m$gesamtsumme_w$gesamtsumme_at$gesamtsumme_eu$gesamtsumme_noteu
'; } ?>