diff --git a/cis/testtool/admin/auswertung.php b/cis/testtool/admin/auswertung.php index 5b54dbdbf..6382bfaa2 100644 --- a/cis/testtool/admin/auswertung.php +++ b/cis/testtool/admin/auswertung.php @@ -20,14 +20,17 @@ * Rudolf Hangl and * Gerald Simane-Sequens . */ - +/** + * Auswertung fuer den Reihungstest + */ require_once('../../../config/cis.config.inc.php'); require_once('../../../include/functions.inc.php'); require_once('../../../include/studiengang.class.php'); +require_once('../../../include/datum.class.php'); if (!$db = new basis_db()) - die('Fehler beim Oeffnen der Datenbankverbindung'); - + die('Fehler beim Oeffnen der Datenbankverbindung'); + function sortByField($multArray,$sortField,$desc=true) { $tmpKey=''; @@ -45,12 +48,14 @@ function sortByField($multArray,$sortField,$desc=true) $tempMin=$multArray[$maIndex[$i]]->$sortField; $tmpKey=$maIndex[$i]; for($j=$i+1; $j <= $maSize; $j++) + { if($multArray[$maIndex[$j]]->$sortField < $tempMin ) { $minElement=$j; $tmpKey=$maIndex[$j]; $tempMin=$multArray[$maIndex[$j]]->$sortField; } + } $maIndex[$minElement]=$maIndex[$i]; $maIndex[$i]=$tmpKey; } @@ -69,11 +74,26 @@ $ergebnis=''; $gebiet=array(); $kategorie=array(); $erg_kat=array(); +$datum_obj = new datum(); + +$datum_von = isset($_POST['datum_von'])?$_POST['datum_von']:''; +$datum_bis = isset($_POST['datum_bis'])?$_POST['datum_bis']:''; +$reihungstest = isset($_POST['reihungstest'])?$_POST['reihungstest']:''; +$studiengang = isset($_POST['studiengang'])?$_POST['studiengang']:''; + +if($reihungstest!='' && !is_numeric($reihungstest)) + die('ReihungstestID ist ungueltig'); +if($studiengang!='' && !is_numeric($studiengang)) + die('Studiengang ist ungueltig'); + +if($datum_von!='') + $datum_von = $datum_obj->formatDatum($datum_von, 'Y-m-d'); +if($datum_bis!='') + $datum_bis = $datum_obj->formatDatum($datum_bis, 'Y-m-d'); // Reihungstests laden -$sql_query="; - SELECT * FROM public.tbl_reihungstest WHERE date_part('year',datum)=date_part('year',now()) ORDER BY datum,uhrzeit"; -//echo $sql_query; +$sql_query="SELECT * FROM public.tbl_reihungstest WHERE date_part('year',datum)=date_part('year',now()) ORDER BY datum,uhrzeit"; + if(!($result=$db->db_query($sql_query))) die($db->db_last_error()); @@ -90,11 +110,23 @@ while ($row=$db->db_fetch_object($result)) if (isset($_POST['reihungstest'])) { // Vorkommende Gebiete laden - $sql_query="SELECT DISTINCT gebiet_id, gebiet FROM testtool.vw_auswertung WHERE reihungstest_id='".addslashes($_POST['reihungstest'])."'"; - if(isset($_POST['studiengang']) && $_POST['studiengang']!='') - $sql_query.=" AND tbl_prestudent.studiengang_kz='".addslashes($_POST['studiengang'])."'"; + $sql_query=" + SELECT DISTINCT gebiet_id, gebiet + FROM + testtool.vw_auswertung + JOIN public.tbl_prestudent USING(prestudent_id) + JOIN public.tbl_reihungstest ON(vw_auswertung.reihungstest_id=tbl_reihungstest.reihungstest_id) + WHERE 1=1"; + if($reihungstest!='') + $sql_query.=" AND vw_auswertung.reihungstest_id='".addslashes($reihungstest)."'"; + if($datum_von!='') + $sql_query.=" AND tbl_reihungstest.datum>='$datum_von'"; + if($datum_bis!='') + $sql_query.=" AND tbl_reihungstest.datum<='$datum_bis'"; + if($studiengang!='') + $sql_query.=" AND tbl_prestudent.studiengang_kz='".addslashes($studiengang)."'"; + - //echo $sql_query; if(!($result=$db->db_query($sql_query))) die($db->db_last_error()); while ($row=$db->db_fetch_object($result)) @@ -107,11 +139,18 @@ if (isset($_POST['reihungstest'])) $sql_query="SELECT * FROM - testtool.vw_auswertung - WHERE - reihungstest_id='".addslashes($_POST['reihungstest'])."'"; - if(isset($_POST['studiengang']) && $_POST['studiengang']!='') - $sql_query.=" AND tbl_prestudent.studiengang_kz='".addslashes($_POST['studiengang'])."'"; + testtool.vw_auswertung + JOIN public.tbl_prestudent USING(prestudent_id) + JOIN public.tbl_reihungstest ON(vw_auswertung.reihungstest_id=tbl_reihungstest.reihungstest_id) + WHERE 1=1"; + if($reihungstest!='') + $sql_query.=" AND vw_auswertung.reihungstest_id='".addslashes($reihungstest)."'"; + if($datum_von!='') + $sql_query.=" AND tbl_reihungstest.datum>='$datum_von'"; + if($datum_bis!='') + $sql_query.=" AND tbl_reihungstest.datum<='$datum_bis'"; + if($studiengang!='') + $sql_query.=" AND tbl_prestudent.studiengang_kz='".addslashes($studiengang)."'"; //echo $sql_query; if(!($result=$db->db_query($sql_query))) @@ -119,6 +158,7 @@ if (isset($_POST['reihungstest'])) while ($row=$db->db_fetch_object($result)) { + $ergebnis[$row->pruefling_id]->prestudent_id=$row->prestudent_id; $ergebnis[$row->pruefling_id]->pruefling_id=$row->pruefling_id; $ergebnis[$row->pruefling_id]->nachname=$row->nachname; $ergebnis[$row->pruefling_id]->vorname=$row->vorname; @@ -152,11 +192,20 @@ if (isset($_POST['reihungstest'])) DISTINCT kategorie_kurzbz, (SELECT sum(punkte) FROM testtool.tbl_vorschlag JOIN testtool.tbl_frage USING(frage_id) WHERE tbl_frage.kategorie_kurzbz=vw_auswertung_kategorie.kategorie_kurzbz) as gesamtpunkte - FROM testtool.vw_auswertung_kategorie - WHERE reihungstest_id='".addslashes($_POST['reihungstest'])."'"; + FROM + testtool.vw_auswertung_kategorie + JOIN public.tbl_prestudent USING(prestudent_id) + JOIN public.tbl_reihungstest ON(vw_auswertung_kategorie.reihungstest_id=tbl_reihungstest.reihungstest_id) + WHERE 1=1"; + if($reihungstest!='') + $sql_query.=" AND vw_auswertung_kategorie.reihungstest_id='".addslashes($reihungstest)."'"; + if($datum_von!='') + $sql_query.=" AND tbl_reihungstest.datum>='$datum_von'"; + if($datum_bis!='') + $sql_query.=" AND tbl_reihungstest.datum<='$datum_bis'"; + if($studiengang!='') + $sql_query.=" AND tbl_prestudent.studiengang_kz='".addslashes($studiengang)."'"; - if(isset($_POST['studiengang']) && $_POST['studiengang']!='') - $sql_query.=" AND tbl_prestudent.studiengang_kz='".$_POST['studiengang']."'"; //echo $sql_query; if(!($result=$db->db_query($sql_query))) @@ -176,13 +225,21 @@ if (isset($_POST['reihungstest'])) (SELECT typ FROM testtool.tbl_kriterien WHERE gebiet_id=vw_auswertung_kategorie.gebiet_id AND punkte=vw_auswertung_kategorie.punkte AND kategorie_kurzbz=vw_auswertung_kategorie.kategorie_kurzbz) as typ - FROM testtool.vw_auswertung_kategorie - WHERE reihungstest_id='".addslashes($_POST['reihungstest'])."'"; - if(isset($_POST['studiengang']) && $_POST['studiengang']!='') - $sql_query.=" AND studiengang_kz='".$_POST['studiengang']."'"; + FROM + testtool.vw_auswertung_kategorie + JOIN public.tbl_prestudent USING(prestudent_id) + JOIN public.tbl_reihungstest ON(vw_auswertung_kategorie.reihungstest_id=tbl_reihungstest.reihungstest_id) + WHERE 1=1"; + if($reihungstest!='') + $sql_query.=" AND vw_auswertung_kategorie.reihungstest_id='".addslashes($reihungstest)."'"; + if($datum_von!='') + $sql_query.=" AND tbl_reihungstest.datum>='$datum_von'"; + if($datum_bis!='') + $sql_query.=" AND tbl_reihungstest.datum<='$datum_bis'"; + if($studiengang!='') + $sql_query.=" AND tbl_prestudent.studiengang_kz='".addslashes($studiengang)."'"; $sql_query.=" ORDER BY nachname, vorname"; - //echo $sql_query; if(!($result=$db->db_query($sql_query))) die($db->db_last_error()); @@ -190,6 +247,7 @@ if (isset($_POST['reihungstest'])) while ($row=$db->db_fetch_object($result)) { $erg_kat[$row->pruefling_id]->pruefling_id=$row->pruefling_id; + $erg_kat[$row->pruefling_id]->prestudent_id=$row->prestudent_id; $erg_kat[$row->pruefling_id]->nachname=$row->nachname; $erg_kat[$row->pruefling_id]->vorname=$row->vorname; $erg_kat[$row->pruefling_id]->gebdatum=$row->gebdatum; @@ -206,7 +264,7 @@ if (isset($_POST['reihungstest'])) //Studiengaenge laden $stg_obj = new studiengang(); -$stg_obj->getAll(null, false); +$stg_obj->getAll('typ, kurzbz', false); $stg_arr = array(); foreach($stg_obj->result as $row) @@ -219,7 +277,7 @@ foreach($stg_obj->result as $row) Testtool - Auswertung - + @@ -230,11 +288,12 @@ foreach($stg_obj->result as $row)
Reihungstest wählen:  - + reihungstest_id==$_POST['reihungstest']) + if(isset($reihungstest) && $rt->reihungstest_id==$reihungstest) $selected = 'selected'; else $selected = ''; @@ -243,6 +302,8 @@ foreach($stg_obj->result as $row) } ?> + +
Studiengang: - + +  '; + echo 'bis Datum: '; + ?>
@@ -274,7 +339,7 @@ if (isset($_POST['reihungstest'])) - + @@ -296,7 +361,7 @@ if (isset($_POST['reihungstest'])) { foreach ($ergb AS $erg) { - echo " + echo ""; // foreach ($gebiet AS $gbt)
IDNachnameVornamenPrestudentIDNachnameVornamen GebDatumG RegistriertSTGStudiengang
$erg->pruefling_id$erg->nachname$erg->vorname$erg->gebdatum$erg->geschlecht
$erg->prestudent_id$erg->nachname$erg->vorname$erg->gebdatum$erg->geschlecht $erg->registriert$erg->stg_kurzbz$erg->stg_bez$erg->idnachweis