diff --git a/system/dbupdate_3.4/54225_reihungstest_ablauf_fuer_quereinsteiger.php b/system/dbupdate_3.4/54225_reihungstest_ablauf_fuer_quereinsteiger.php index 8898afdf3..41532cfe0 100644 --- a/system/dbupdate_3.4/54225_reihungstest_ablauf_fuer_quereinsteiger.php +++ b/system/dbupdate_3.4/54225_reihungstest_ablauf_fuer_quereinsteiger.php @@ -14,6 +14,8 @@ if (!$result = @$db->db_query('SELECT 1 FROM testtool.tbl_pruefling_gebiet LIMIT ALTER TABLE testtool.tbl_pruefling_gebiet OWNER TO fhcomplete; ALTER TABLE testtool.tbl_pruefling_gebiet ADD CONSTRAINT pk_tbl_pruefling_gebiet PRIMARY KEY (prueflinggebiet_id); + ALTER TABLE testtool.tbl_pruefling_gebiet ADD CONSTRAINT fk_tbl_pruefling_gebiet_pruefling_id FOREIGN KEY (pruefling_id) REFERENCES testtool.tbl_pruefling(pruefling_id) ON UPDATE CASCADE ON DELETE RESTRICT; + ALTER TABLE testtool.tbl_pruefling_gebiet ADD CONSTRAINT fk_tbl_pruefling_gebiet_gebiet_id FOREIGN KEY (gebiet_id) REFERENCES testtool.tbl_gebiet(gebiet_id) ON UPDATE CASCADE ON DELETE RESTRICT; CREATE SEQUENCE testtool.tbl_pruefling_gebiet_prueflinggebiet_id_seq START WITH 1 diff --git a/vilesci/stammdaten/auswertung_fhtw.php b/vilesci/stammdaten/auswertung_fhtw.php index 8d928dacf..d4ece9c72 100644 --- a/vilesci/stammdaten/auswertung_fhtw.php +++ b/vilesci/stammdaten/auswertung_fhtw.php @@ -251,6 +251,31 @@ if ($deleteSingleResult) exit(); } + $qry = "SELECT * FROM testtool.tbl_pruefling_gebiet + WHERE pruefling_id=" . $db->db_add_param($pruefling->pruefling_id) . " AND gebiet_id=" . $db->db_add_param($_POST['gebiet_id']) . ""; + + if ($db->db_query($qry)) + { + while ($row = $db->db_fetch_object()) + { + $undo .= " INSERT INTO testtool.tbl_pruefling_gebiet(prueflinggebiet_id,pruefling_id,gebiet_id, insertamum) VALUES (" . + $db->db_add_param($row->prueflinggebiet_id, FHC_INTEGER) . ', ' . + $db->db_add_param($row->pruefling_id, FHC_INTEGER) . ', ' . + $db->db_add_param($row->gebiet_id, FHC_INTEGER) . ', ' . + $db->db_add_param($row->insertamum) . ');'; + } + } + else + { + $db->db_query('ROLLBACK'); + echo json_encode(array( + 'status' => 'fehler', + 'msg' => 'Fehler beim Erstellen des UNDO Befehls fuer testtool.tbl_pruefling_gebiet' + )); + exit(); + } + + //Antworten loeschen $qry = "DELETE FROM testtool.tbl_pruefling_frage where pruefling_id=" . $db->db_add_param($pruefling->pruefling_id, FHC_INTEGER) . " AND frage_id IN (SELECT frage_id FROM testtool.tbl_frage WHERE gebiet_id=" . $db->db_add_param($_POST['gebiet_id']) . "); @@ -258,7 +283,9 @@ if ($deleteSingleResult) DELETE FROM testtool.tbl_antwort WHERE pruefling_id=" . $db->db_add_param($pruefling->pruefling_id) . " AND vorschlag_id IN (SELECT vorschlag_id FROM testtool.tbl_vorschlag WHERE frage_id IN - (SELECT frage_id FROM testtool.tbl_frage WHERE gebiet_id=" . $db->db_add_param($_POST['gebiet_id']) . "));"; + (SELECT frage_id FROM testtool.tbl_frage WHERE gebiet_id=" . $db->db_add_param($_POST['gebiet_id']) . ")); + + DELETE FROM testtool.tbl_pruefling_gebiet where pruefling_id=" . $db->db_add_param($pruefling->pruefling_id, FHC_INTEGER) . " AND gebiet_id=" . $db->db_add_param($_POST['gebiet_id']) . ";"; if ($result = $db->db_query($qry)) { @@ -388,9 +415,35 @@ if ($deleteAllResults) exit(); } + $qry = "SELECT * FROM testtool.tbl_pruefling_gebiet WHERE pruefling_id=" . $db->db_add_param($pruefling->pruefling_id, FHC_INTEGER) . "; + "; + + if ($db->db_query($qry)) + { + while ($row = $db->db_fetch_object()) + { + $undo .= " INSERT INTO testtool.tbl_pruefling_gebiet(prueflinggebiet_id,pruefling_id,gebiet_id,insertamum) VALUES (" . + $db->db_add_param($row->prueflinggebiet_id, FHC_INTEGER) . ', ' . + $db->db_add_param($row->pruefling_id, FHC_INTEGER) . ', ' . + $db->db_add_param($row->gebiet_id, FHC_INTEGER) . ', ' . + $db->db_add_param($row->insertamum) . ');'; + } + } + else + { + $db->db_query('ROLLBACK'); + echo json_encode(array( + 'status' => 'fehler', + 'msg' => 'Fehler beim Erstellen des UNDO Befehls fuer testtool.tbl_pruefling_gebiet' + )); + exit(); + } + + //Antworten loeschen $qry = " DELETE FROM testtool.tbl_pruefling_frage where pruefling_id=".$db->db_add_param($pruefling->pruefling_id)."; - DELETE FROM testtool.tbl_antwort WHERE pruefling_id=".$db->db_add_param($pruefling->pruefling_id).";"; + DELETE FROM testtool.tbl_antwort where pruefling_id=".$db->db_add_param($pruefling->pruefling_id)."; + DELETE FROM testtool.tbl_pruefling_gebiet WHERE pruefling_id=".$db->db_add_param($pruefling->pruefling_id).";"; if ($result = $db->db_query($qry)) {