*/ require_once('../../config/vilesci.config.inc.php'); require_once('../../include/studiengang.class.php'); require_once('../../include/functions.inc.php'); require_once('../../include/variable.class.php'); require_once('../../include/studiensemester.class.php'); $html=''; $csv=''; $json='{'; $user = get_uid(); $db = new basis_db(); $var = new variable(); $var->loadVariables($user); $stg = new studiengang(); $stg->getAll('typ, kurzbz'); if(isset($_REQUEST['outputformat'])) $outputformat = $_REQUEST['outputformat']; else $outputformat = 'html'; if(isset($_REQUEST['stsem'])) $studiensemester_kurzbz = $_REQUEST['stsem']; else $studiensemester_kurzbz = $var->variable->semester_aktuell; $stsem = new studiensemester(); $stsem->getAll(); $html.= ' DropOut Statistik

DropOut Statistik - Studiensemester '.$db->convert_html_chars($studiensemester_kurzbz).'

'; $html.= '
Studiensemester:
'; $html.= ' '; $csv.='"Studiengang", "Anfaenger M", "Anfaenger W", "Anfaenger Gesamt", "Abbrecher M", "Abbrecher W", "Abbrecher Gesamt", "DropOut in %"'."\r\n"; $summe_anfaenger_m=0; $summe_anfaenger_w=0; $summe_anfaenger_gesamt=0; $summe_abbrecher_m=0; $summe_abbrecher_w=0; $summe_abbrecher_gesamt=0; foreach($stg->result as $row_stg) { if($row_stg->typ!='b' && $row_stg->typ!='m') continue; $html.= "\n"; $html.= ''; $csv.='"'.$row_stg->kuerzel.'", '; $json.='"'.$row_stg->kuerzel.'":{'; //Studienanfaenger $qry = " SELECT count(*) anzahl, geschlecht FROM public.tbl_prestudent JOIN public.tbl_prestudentstatus status USING(prestudent_id) JOIN public.tbl_person USING(person_id) WHERE bismelden=true AND (status_kurzbz='Student' OR status_kurzbz='Unterbrecher') AND studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)." AND NOT EXISTS (SELECT 1 FROM public.tbl_prestudentstatus WHERE prestudent_id=status.prestudent_id AND (status_kurzbz='Student' OR status_kurzbz='Unterbrecher') AND datumdb_query($qry)) while($row = $db->db_fetch_object($result)) $anfaenger[$row->geschlecht]=$row->anzahl; $html.= ''; $csv.='"'.$anfaenger['m'].'", '; $json.='"Anfaenger M": "'.$anfaenger['m'].'", '; $html.= ''; $csv.='"'.$anfaenger['w'].'", '; $json.='"Anfaenger W": "'.$anfaenger['w'].'", '; $anfaenger_gesamt = array_sum($anfaenger); $html.= ''; $csv.='"'.$anfaenger_gesamt.'", '; $json.='"Anfaenger Gesamt": "'.$anfaenger_gesamt.'", '; $summe_anfaenger_m+=$anfaenger['m']; $summe_anfaenger_w+=$anfaenger['w']; $summe_anfaenger_gesamt+=$anfaenger_gesamt; //Studienabbrecher //Alle die im Studiensemester $studiensemester_kurzbz zu studieren //begonnen haben und bisher abgebrochen haben $qry = " SELECT count(*) anzahl, geschlecht FROM public.tbl_prestudent a JOIN public.tbl_prestudentstatus status USING(prestudent_id) JOIN public.tbl_person USING(person_id) WHERE bismelden=true AND status_kurzbz='Abbrecher' AND a.studiengang_kz=".$db->db_add_param($row_stg->studiengang_kz,FHC_INTEGER)." AND EXISTS ( SELECT 1 FROM public.tbl_prestudentstatus as status WHERE prestudent_id=a.prestudent_id AND (status_kurzbz='Student' OR status_kurzbz='Unterbrecher') AND studiensemester_kurzbz=".$db->db_add_param($studiensemester_kurzbz)." AND NOT EXISTS (SELECT 1 FROM public.tbl_prestudentstatus WHERE prestudent_id=status.prestudent_id AND (status_kurzbz='Student' OR status_kurzbz='Unterbrecher') AND datumdb_query($qry)) while($row = $db->db_fetch_object($result)) $abbrecher[$row->geschlecht]=$row->anzahl; $html.= ''; $csv.='"'.$abbrecher['m'].'", '; $json.='"Abbrecher M": "'.$abbrecher['m'].'", '; $html.= ''; $csv.='"'.$abbrecher['w'].'", '; $json.='"Abbrecher W": "'.$abbrecher['w'].'", '; $abbrecher_gesamt = array_sum($abbrecher); $html.= ''; $csv.='"'.$abbrecher_gesamt.'", '; $json.='"Abbrecher Gesamt": "'.$abbrecher_gesamt.'", '; $summe_abbrecher_m+=$abbrecher['m']; $summe_abbrecher_w+=$abbrecher['w']; $summe_abbrecher_gesamt+=$abbrecher_gesamt; if($abbrecher_gesamt==0 || $anfaenger_gesamt==0) $dropout=0; else $dropout = 100/$anfaenger_gesamt*$abbrecher_gesamt; $html.= ''; $csv.='"'.number_format($dropout,2).'"'."\n"; $json.='"DropOut in %": "'.number_format($dropout,2).'"}, '; $html.= "\n\n"; } if($summe_abbrecher_gesamt==0 || $summe_anfaenger_gesamt==0) $dropout_gesamt=0; else $dropout_gesamt = 100/$summe_anfaenger_gesamt*$summe_abbrecher_gesamt; $html.= '
Studiengang Anfänger M Anfänger W Anfänger Gesamt Abbrecher M Abbrecher W Abbrecher Gesamt DropOut in %
'.$db->convert_html_chars($row_stg->kuerzel).''.$db->convert_html_chars($anfaenger['m']).''.$db->convert_html_chars($anfaenger['w']).''.$db->convert_html_chars($anfaenger_gesamt).''.$db->convert_html_chars($abbrecher['m']).''.$db->convert_html_chars($abbrecher['w']).''.$db->convert_html_chars($abbrecher_gesamt).''.$db->convert_html_chars(number_format($dropout,2)).' %
'.$summe_anfaenger_m.' '.$summe_anfaenger_w.' '.$summe_anfaenger_gesamt.' '.$summe_abbrecher_m.' '.$summe_abbrecher_w.' '.$summe_abbrecher_gesamt.' '.number_format($dropout_gesamt,2).' %
'; $html.= ' '; // JSON-Ende: letzes Komma loeschen und beenden $json=substr($json,0,-2).'}'; switch ($outputformat) { case 'csv': header("Content-type: text/csv"); header("Content-Disposition: attachment; filename=dropout.csv"); header("Pragma: no-cache"); header("Expires: 0"); echo $csv; break; case 'json': header("Content-type: application/json"); header("Content-Disposition: attachment; filename=dropout.json"); header("Pragma: no-cache"); header("Expires: 0"); echo $json; //echo '{"one": "Singular sensation","two": "Beady little eyes","three": "Little birds pitch by my doorstep"}'; break; default: echo $html; } ?>