From 709d5032d3f949a2fff4e15ed6b137b3e636e543 Mon Sep 17 00:00:00 2001 From: Rudolf Hangl Date: Wed, 17 Jun 2009 08:24:30 +0000 Subject: [PATCH] --- content/statistik/stromanalyse.php | 278 +++++++++++++++++++++++++++++ 1 file changed, 278 insertions(+) create mode 100644 content/statistik/stromanalyse.php diff --git a/content/statistik/stromanalyse.php b/content/statistik/stromanalyse.php new file mode 100644 index 000000000..ecc937470 --- /dev/null +++ b/content/statistik/stromanalyse.php @@ -0,0 +1,278 @@ + + * 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($_POST['studiensemester_kurzbz'])?$_POST['studiensemester_kurzbz']:'-1'); +if(isset($_POST["speichern"]) && $studiensemester_kurzbz != -1) +{ + + $ausgabe = "

Master-Studiengänge: ($studiensemester_kurzbz)

"; + + $qry_stg="SELECT * FROM public.tbl_studiengang WHERE typ='m' ORDER by 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($summe>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 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 .= ""; + $summe += $row_bachelor->count; + $i++; + } + //$rest=$row_rest->rest; + $rest=$row_anzahl->anzahl-$summe; + //echo "-->".$rest."<--"; + if($summe>0) + { + $color=(($i%2==0)?"#F3F3E9":"#EFEFDD"); + $ausgabe .= ""; + $ausgabe .= ""; + $ausgabe .= ""; + $ausgabe .= ""; + $ausgabe .= ""; + $ausgabe .= ""; + $ausgabe .= ""; + } + $ausgabe .="
KzTypNameAnzahlProzent
$row_bachelor->studiengang_kzanzahl)*$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; +?> \ No newline at end of file