diff --git a/content/fasDBDML.php b/content/fasDBDML.php index 209fca755..a89ca1b1c 100644 --- a/content/fasDBDML.php +++ b/content/fasDBDML.php @@ -449,7 +449,7 @@ if(!$error) if(isset($_POST['wert']) && $_POST['wert']!=0) { $stsem = new studiensemester($conn); - $studiensemester_kurzbz = $stsem->jump($_POST['stsem'], $wert); + $studiensemester_kurzbz = $stsem->jump($_POST['stsem'], $_POST['wert']); } else $studiensemester_kurzbz = $_POST['stsem']; diff --git a/content/statistik/bewerberstatistik.php b/content/statistik/bewerberstatistik.php index cd83bc5d1..0476b15bd 100644 --- a/content/statistik/bewerberstatistik.php +++ b/content/statistik/bewerberstatistik.php @@ -118,7 +118,7 @@ if(isset($_GET['showdetails'])) $content.='

Bewerberstatistik Details - '.$stg_obj->kuerzel.' '.$stsem.''.date('d.m.Y').'


'; - //$content.='
'; + $content.='
'; $hlp=array(); //Aufmerksamdurch (Prestudent) diff --git a/content/statistik/bewerberstatistik.svg.php b/content/statistik/bewerberstatistik.svg.php new file mode 100644 index 000000000..4ba25afe5 --- /dev/null +++ b/content/statistik/bewerberstatistik.svg.php @@ -0,0 +1,170 @@ +, + * Andreas Oesterreicher , + * Rudolf Hangl and + * Gerald Simane-Sequens + */ + require_once('../../vilesci/config.inc.php'); + require_once('../../include/ezcomponents/Base/src/ezc_bootstrap.php'); + + if(!$conn = pg_connect(CONN_STRING)) + die('Fehler beim der Datenbankverbindung'); + + if(!$graph = new ezcGraphLineChart()) + die('Fehler beim Initialisieren von EZComponents'); + + $stsem = $_GET['stsem']; + $studiengang_kz = $_GET['studiengang_kz']; + //$graph->title = $stsem.' 1.Semester'; + $hlp=array(); + $qry = "SELECT + date_part('month', datum) as monat, + date_part('year', datum) as jahr, + count(*) as anzahl + FROM + public.tbl_studiengang + JOIN public.tbl_prestudent USING(studiengang_kz) + JOIN public.tbl_prestudentrolle USING(prestudent_id) + WHERE + tbl_prestudentrolle.rolle_kurzbz='Interessent' + AND studiensemester_kurzbz='$stsem' + AND studiengang_kz='$studiengang_kz' + AND ausbildungssemester=1 + GROUP BY date_part('month', datum), date_part('year',datum) + ORDER BY jahr, monat"; + if($result = pg_query($conn, $qry)) + { + while($row = pg_fetch_object($result)) + { + $hlp['Interessent'][$row->jahr.sprintf('%02s',$row->monat)]=$row->anzahl; + $keys[] = $row->jahr.sprintf('%02s',$row->monat); + } + } + $qry = "SELECT + date_part('month', datum) as monat, + date_part('year', datum) as jahr, + count(*) as anzahl + FROM + public.tbl_studiengang + JOIN public.tbl_prestudent USING(studiengang_kz) + JOIN public.tbl_prestudentrolle USING(prestudent_id) + WHERE + tbl_prestudentrolle.rolle_kurzbz='Bewerber' + AND studiensemester_kurzbz='$stsem' + AND studiengang_kz='$studiengang_kz' + AND ausbildungssemester=1 + GROUP BY date_part('month', datum), date_part('year',datum) + ORDER BY jahr, monat"; + if($result = pg_query($conn, $qry)) + { + while($row = pg_fetch_object($result)) + { + $hlp['Bewerber'][$row->jahr.sprintf('%02s',$row->monat)]=$row->anzahl; + $keys[] = $row->jahr.sprintf('%02s',$row->monat); + } + } + $qry = "SELECT + date_part('month', datum) as monat, + date_part('year', datum) as jahr, + count(*) as anzahl + FROM + public.tbl_studiengang + JOIN public.tbl_prestudent USING(studiengang_kz) + JOIN public.tbl_prestudentrolle USING(prestudent_id) + WHERE + tbl_prestudentrolle.rolle_kurzbz='Student' + AND studiensemester_kurzbz='$stsem' + AND studiengang_kz='$studiengang_kz' + AND ausbildungssemester=1 + GROUP BY date_part('month', datum), date_part('year', datum) + ORDER BY jahr, monat"; + if($result = pg_query($conn, $qry)) + { + while($row = pg_fetch_object($result)) + { + $hlp['Student'][$row->jahr.sprintf('%02s',$row->monat)]=$row->anzahl; + $keys[] = $row->jahr.sprintf('%02s',$row->monat); + } + } + + $graph->xAxis->axisLabelRenderer = new ezcGraphAxisRotatedLabelRenderer(); + $graph->xAxis->axisLabelRenderer->angle = 0; + //$graph->xAxis->axisSpace = .2; + if(empty($keys)) + die('Keine Daten vorhanden'); + asort($keys, SORT_NUMERIC); + //$keys = array_unique($keys); + //var_dump($keys); + $firstkey = $keys[0]; + $lastkey = $keys[count($keys)-1]; + $year = substr($firstkey,0,4); + $month = substr($firstkey, 4); + $lastyear = substr($lastkey, 0, 4); + $lastmonth = substr($lastkey, 4); + + for($i=$year;$i<=$lastyear;$i++) + { + if($i==$lastyear) + $maxmonth=$lastmonth; + else + $maxmonth=12; + //echo "
$i==$lastyear:$maxmonth
"; + for($j=$month;$j<=$maxmonth;$j++) + { + if(!in_array($i.sprintf('%02s',$j), $keys)) + $keys[]=$i.sprintf('%02s',$j); + } + $month=1; + } + $keys = array_unique($keys); + asort($keys, SORT_NUMERIC); + //var_dump($keys); + foreach($hlp as $status=>$data) + { + + reset($keys); + $valuebefore=0; + foreach ($keys as $key) + { + if(!isset($data[$key])) + $data[$key] = $valuebefore; + else + $data[$key] = $data[$key]+$valuebefore; + $valuebefore=$data[$key]; + //echo $key.' '.$valuebefore.'
'; + } + + ksort($data, SORT_NUMERIC); + //echo '
'.$status.'
'; + //var_dump($data); + /* + $oldvalue=0; + foreach ($data as $key=>$value) + { + $data[$key]=$data[$key]+$oldvalue; + $oldvalue = $data[$key]; + } + */ + + $graph->data[$status] = new ezcGraphArrayDataSet( $data ); + //$graph->data[$status]->highlight[9] = true; + } + + $graph->renderToOutput( 500, 500); + ?> \ No newline at end of file