* Andreas Oesterreicher < andreas.oesterreicher@technikum-wien.at > * Rudolf Hangl < rudolf.hangl@technikum-wien.at > * Gerald Simane-Sequens < gerald.simane-sequens@technikum-wien.at > */ /******************************************************************************************************* * stromanalyse - Auswertung der Studentenstroeme in der FHTW *******************************************************************************************************/ require_once('../../cis/config.inc.php'); require_once('../../include/functions.inc.php'); require_once('../../include/studiengang.class.php'); require_once('../../include/datum.class.php'); require_once('../../include/benutzerberechtigung.class.php'); //DB Verbindung herstellen if (!$conn = @pg_pconnect(CONN_STRING)) die('Es konnte keine Verbindung zum Server aufgebaut werden.'); $user = get_uid(); $rechte = new benutzerberechtigung($conn); $rechte->getBerechtigungen($user); $htmlstr=''; $ausgabe=''; $summe=0; $rest=0; $studiensemester_kurzbz=''; $studiensemester_kurzbz = (isset($_REQUEST['studiensemester_kurzbz'])?$_REQUEST['studiensemester_kurzbz']:'-1'); if($studiensemester_kurzbz != -1) { $ausgabe = "

Master-Studiengänge: ($studiensemester_kurzbz)

"; $qry_stg="SELECT * FROM public.tbl_studiengang WHERE typ='m' ORDER by bezeichnung, studiengang_kz"; $result_stg=pg_query($conn, $qry_stg); while ($row_stg=pg_fetch_object($result_stg)) { $summe=0; $rest=0; //Studiengänge, die zuvor abgeschlossen wurden $qry_master="SELECT DISTINCT count(*)as count ,studiengang_kz, typ, tbl_studiengang.bezeichnung as bez FROM public.tbl_person JOIN public.tbl_prestudent ON(public.tbl_person.person_id=public.tbl_prestudent.person_id) JOIN public.tbl_prestudentrolle ON(public.tbl_prestudent.prestudent_id=public.tbl_prestudentrolle.prestudent_id) JOIN public.tbl_studiengang USING(studiengang_kz) WHERE rolle_kurzbz='Absolvent' AND typ!='m' AND public.tbl_person.person_id IN(SELECT public.tbl_person.person_id FROM public.tbl_person JOIN public.tbl_prestudent ON(public.tbl_person.person_id=public.tbl_prestudent.person_id) JOIN public.tbl_prestudentrolle ON(public.tbl_prestudent.prestudent_id=public.tbl_prestudentrolle.prestudent_id) WHERE studiengang_kz='".$row_stg->studiengang_kz."' AND studiensemester_kurzbz='".$studiensemester_kurzbz."' AND rolle_kurzbz='Student' AND ausbildungssemester='1') GROUP BY studiengang_kz, typ, public.tbl_studiengang.bezeichnung ORDER BY tbl_studiengang.bezeichnung, studiengang_kz"; //Anzahl der Studenten ohne Abschluß auf der FHTW /*$qry_rest="SELECT count(*) as rest FROM public.tbl_person JOIN public.tbl_prestudent ON(public.tbl_person.person_id=tbl_prestudent.person_id) JOIN public.tbl_prestudentrolle ON(public.tbl_prestudent.prestudent_id=public.tbl_prestudentrolle.prestudent_id) WHERE studiengang_kz='".$row_stg->studiengang_kz."' AND studiensemester_kurzbz='".$studiensemester_kurzbz."' AND rolle_kurzbz='Student' AND ausbildungssemester='1' AND tbl_person.person_id NOT IN (SELECT DISTINCT public.tbl_person.person_id FROM public.tbl_person JOIN public.tbl_prestudent ON(public.tbl_person.person_id=public.tbl_prestudent.person_id) JOIN public.tbl_prestudentrolle ON(public.tbl_prestudent.prestudent_id=public.tbl_prestudentrolle.prestudent_id) JOIN public.tbl_studiengang USING(studiengang_kz) WHERE rolle_kurzbz='Absolvent' AND typ!='m' AND public.tbl_person.person_id IN(SELECT public.tbl_person.person_id FROM tbl_person JOIN public.tbl_prestudent ON(public.tbl_person.person_id=public.tbl_prestudent.person_id) JOIN public.tbl_prestudentrolle ON(public.tbl_prestudent.prestudent_id=public.tbl_prestudentrolle.prestudent_id) WHERE studiengang_kz='".$row_stg->studiengang_kz."' AND studiensemester_kurzbz='".$studiensemester_kurzbz."' AND rolle_kurzbz='Student' AND ausbildungssemester='1'))"; $result_rest=pg_query($conn, $qry_rest); $row_rest=pg_fetch_object($result_rest);*/ //Anzahl der Studenten im 1.Semester des MasterStg $qry_anzahl="SELECT count(*) as anzahl FROM public.tbl_person JOIN public.tbl_prestudent ON(public.tbl_person.person_id=public.tbl_prestudent.person_id) JOIN public.tbl_prestudentrolle ON(public.tbl_prestudent.prestudent_id=public.tbl_prestudentrolle.prestudent_id) WHERE studiengang_kz='".$row_stg->studiengang_kz."' AND studiensemester_kurzbz='".$studiensemester_kurzbz."' AND rolle_kurzbz='Student' AND ausbildungssemester='1'"; $result_anzahl=pg_query($conn, $qry_anzahl); $row_anzahl=pg_fetch_object($result_anzahl); $ausgabe .= ""; $ausgabe .= "
   Studiengang: $row_stg->studiengang_kz, $row_stg->bezeichnung$row_anzahl->anzahl Studierende im 1.Sem.
"; $ausgabe .= ""; $ausgabe .= ""; $ausgabe .= ""; $ausgabe .= ""; $ausgabe .= ""; $ausgabe .= ""; $result_master=pg_query($conn, $qry_master); $i=0; while ($row_master=pg_fetch_object($result_master)) { $color=(($i%2==0)?"#F3F3E9":"#EFEFDD"); $ausgabe .= ""; $ausgabe .= ""; $ausgabe .= ""; $ausgabe .= ""; $ausgabe .= ""; $ausgabe .= ""; $ausgabe .= ""; $summe += $row_master->count; $i++; } //$rest=$row_rest->rest; $rest=$row_anzahl->anzahl-$summe; if($rest>0) { $color=(($i%2==0)?"#F3F3E9":"#EFEFDD"); $ausgabe .= ""; $ausgabe .= ""; $ausgabe .= ""; $ausgabe .= ""; $ausgabe .= ""; $ausgabe .= ""; $ausgabe .= ""; } //$ausgabe .="
KzTypNameAnzahlProzent
$row_master->studiengang_kz$row_master->typ$row_master->bez$row_master->count".round((100/$row_anzahl->anzahl)*$row_master->count,2)."%
--extern$rest".round((100/$row_anzahl->anzahl)*$rest,2)."%
".$summe."+".$rest."=".($summe+$rest)."=".$row_anzahl->anzahl."?

"; $ausgabe .="

"; } $ausgabe .= "

Bachelor-Studiengänge: (SS".substr($studiensemester_kurzbz,-4)."/$studiensemester_kurzbz)

"; $qry_stg="SELECT * FROM public.tbl_studiengang WHERE typ='b' ORDER by bezeichnung,studiengang_kz"; $result_stg=pg_query($conn, $qry_stg); while ($row_stg=pg_fetch_object($result_stg)) { $summe=0; $rest=0; //Master-Studiengänge, die noch besucht wurden $qry_bachelor="SELECT DISTINCT count(*)as count, studiengang_kz, typ, bezeichnung as bez FROM (SELECT DISTINCT ON(public.tbl_person.person_id, studiengang_kz) studiengang_kz,typ, tbl_studiengang.bezeichnung FROM public.tbl_person JOIN public.tbl_prestudent ON(public.tbl_person.person_id=public.tbl_prestudent.person_id) JOIN public.tbl_prestudentrolle ON(public.tbl_prestudent.prestudent_id=public.tbl_prestudentrolle.prestudent_id) JOIN public.tbl_studiengang USING(studiengang_kz) WHERE rolle_kurzbz='Student' AND typ='m' AND public.tbl_person.person_id IN(SELECT public.tbl_person.person_id FROM public.tbl_person JOIN public.tbl_prestudent ON(public.tbl_person.person_id=public.tbl_prestudent.person_id) JOIN public.tbl_prestudentrolle ON(public.tbl_prestudent.prestudent_id=public.tbl_prestudentrolle.prestudent_id) WHERE studiengang_kz='".$row_stg->studiengang_kz."' AND rolle_kurzbz='Absolvent' AND (studiensemester_kurzbz='".$studiensemester_kurzbz."' OR studiensemester_kurzbz='SS".substr($studiensemester_kurzbz,-4)."') )) as b GROUP BY studiengang_kz, typ, bezeichnung ORDER BY bezeichnung, studiengang_kz"; //Anzahl der Studenten ohne weitere Masterstudien am FHTW /*$qry_rest="SELECT count(*) as anzahl FROM public.tbl_person JOIN public.tbl_prestudent ON(public.tbl_person.person_id=public.tbl_prestudent.person_id) JOIN public.tbl_prestudentrolle ON(public.tbl_prestudent.prestudent_id=public.tbl_prestudentrolle.prestudent_id) WHERE studiengang_kz='".$row_stg->studiengang_kz."' AND rolle_kurzbz='Absolvent' AND public.tbl_person.person_id NOT IN (SELECT DISTINCT ON(public.tbl_person.person_id, studiengang_kz) public.tbl_person.person_id FROM public.tbl_person JOIN public.tbl_prestudent ON(public.tbl_person.person_id=public.tbl_prestudent.person_id) JOIN public.tbl_prestudentrolle ON(public.tbl_prestudent.prestudent_id=public.tbl_prestudentrolle.prestudent_id) JOIN public.tbl_studiengang USING(studiengang_kz) WHERE rolle_kurzbz='Student' AND typ='m' AND public.tbl_person.person_id IN(SELECT public.tbl_person.person_id FROM public.tbl_person JOIN public.tbl_prestudent ON(public.tbl_person.person_id=public.tbl_prestudent.person_id) JOIN public.tbl_prestudentrolle ON(public.tbl_prestudent.prestudent_id=public.tbl_prestudentrolle.prestudent_id) WHERE studiengang_kz='".$row_stg->studiengang_kz."' AND rolle_kurzbz='Absolvent'))"; $result_rest=pg_query($conn, $qry_rest); $row_rest=pg_fetch_object($result_rest);*/ //Anzahl der Absolventen des Studiengangs $qry_anzahl="SELECT count(*) as anzahl FROM public.tbl_person JOIN public.tbl_prestudent ON(public.tbl_person.person_id=public.tbl_prestudent.person_id) JOIN public.tbl_prestudentrolle ON(public.tbl_prestudent.prestudent_id=public.tbl_prestudentrolle.prestudent_id) WHERE studiengang_kz='".$row_stg->studiengang_kz."' AND rolle_kurzbz='Absolvent' AND (studiensemester_kurzbz='".$studiensemester_kurzbz."' OR studiensemester_kurzbz='SS".substr($studiensemester_kurzbz,-4)."')"; $result_anzahl=pg_query($conn, $qry_anzahl); $row_anzahl=pg_fetch_object($result_anzahl); $ausgabe .= ""; $ausgabe .= ""; $ausgabe .= ""; $ausgabe .= "
   Studiengang: $row_stg->studiengang_kz, $row_stg->bezeichnung$row_anzahl->anzahl Absolventen
"; $ausgabe .= ""; $ausgabe .= ""; $ausgabe .= ""; $ausgabe .= ""; $ausgabe .= ""; $ausgabe .= ""; $result_bachelor=pg_query($conn, $qry_bachelor); $i=0; while ($row_bachelor=pg_fetch_object($result_bachelor)) { $color=(($i%2==0)?"#F3F3E9":"#EFEFDD"); $ausgabe .= ""; $ausgabe .= ""; $ausgabe .= ""; $ausgabe .= ""; $ausgabe .= ""; $ausgabe .= ""; $ausgabe .= ""; $summe += $row_bachelor->count; $i++; } //$rest=$row_rest->rest; $rest=$row_anzahl->anzahl-$summe; //echo "-->".$rest."<--"; if($rest>0) { $color=(($i%2==0)?"#F3F3E9":"#EFEFDD"); $ausgabe .= ""; $ausgabe .= ""; $ausgabe .= ""; $ausgabe .= ""; $ausgabe .= ""; $ausgabe .= ""; $ausgabe .= ""; } $ausgabe .="
KzTypNameAnzahlProzent
$row_bachelor->studiengang_kz$row_bachelor->typ$row_bachelor->bez$row_bachelor->count".round((100/$row_anzahl->anzahl)*$row_bachelor->count,2)."%
--extern$rest".round((100/$row_anzahl->anzahl)*$rest,2)."%


"; } } echo ' Studentenströme

Studentenströme

Wählen Sie bitte nachfolgend ein Wintersemester aus.'; $htmlstr .= "
\n"; $htmlstr .= "\n"; $htmlstr .= ""; $htmlstr .= "
\n"; echo $htmlstr; echo $ausgabe; echo "Anmerkungen:

Doppelvorkommen von Studierenden fuehrt zu Verfaelschungen bei der Anzahl der 'Externen':
- Absolventen bzw. Studenten in verschiedenen Studiengaengen.
- Doppelteintragungen: z.B. nach Abbruch neu inskribiert"; ?>