From 8ea6ea6db019f68436a69f36aae55a9f205efa35 Mon Sep 17 00:00:00 2001 From: Benjamin Franzke Date: Wed, 30 Jan 2013 15:43:52 +0100 Subject: doc: Nils Weber doesnt have an 'e' in his firstname --- doc/nils-diplom/Dateistruktur/lessons/try.php | 1145 +++++++++++++++++++++++++ 1 file changed, 1145 insertions(+) create mode 100755 doc/nils-diplom/Dateistruktur/lessons/try.php (limited to 'doc/nils-diplom/Dateistruktur/lessons/try.php') diff --git a/doc/nils-diplom/Dateistruktur/lessons/try.php b/doc/nils-diplom/Dateistruktur/lessons/try.php new file mode 100755 index 0000000..8b54d82 --- /dev/null +++ b/doc/nils-diplom/Dateistruktur/lessons/try.php @@ -0,0 +1,1145 @@ + + +
AUSWERTUNG
+ + +   + + +
Ihr SQLStatement entspricht keiner SQL__Anweisung. Bitte versuchen sie es erneut!
+ + +   + + + Folgen sie bitte dem untenstehenden link, um zur eben bearbeiteten Aufgabe zurück zu gelangen. + + + + << zurück zur Aufgabenstellung + + + + + + + + + + + + + AUSWERTUNG + + +   + + +Sie haben eine syntaktisch richtige Anfrage erstellt. Ihre Anfrage entspricht allerdings noch nicht der in der Aufgabe geforderten Musterlösung.....

Anzahl der geforderten Spalten: $ncols_muster
Anzahl der geforderten Datensätze: $nrows_muster"; +?> + +  Folgen sie bitte dem untenstehenden link, um zur eben bearbeiteten Aufgabe zurück zu gelangen.<< zurück zur Aufgabenstellung + + + + + + + Richtig! Die Lösung der Aufgabe entspricht der gesuchten Musterlösung. Bitte drücken sie den untenstehenden link, um zur nächsten Aufgabe zu gelangen. + + + + + + + << zurück zur Übersicht + + + zur nächsten Aufgabe >> + + + + + +Gut die Lösung kommt der Ergebnismenge schon nah. Die Elemente der Ergebnissmenge stimmen jedoch noch nicht denen in der Musterlösung überein. Überprüfen sie bitte auch die in der Frage gesuchte Reihenfolge der gesuchten Felder!!!"; +?> + +  Folgen sie bitte dem untenstehenden link, um zur eben bearbeiteten Aufgabe zurück zu gelangen.<< zurück zur Aufgabenstellung + + + +   + + + Ihre Anfrage ergab folgende Ergebnisse: + + + + + + + 0 ) + { + print "\n"; //Ausgabe der ERgebnisse auf der Seite... + print "\n"; + while ( list( $key, $val ) = each( $results ) ) + { + print "\n"; + } + print "\n"; + + for ( $i = 0; $i < $nrows; $i++ ) + { + reset($results); + print "\n"; + while ( $column = each($results) ) + { + $data = $column['value']; + print "\n"; + } + print "\n"; + + } + print ""; + print ""; + print ""; + print "
$key
$data[$i]

$ncols Spalten mit
$nrows Datensätzen ausgewählt
\n Ihre Anfrage war: " . $sql . "

"; + } + +else + { + print "\n"; + print ""; + print "
Es wurden keine Daten gefunden...
\n

"; + + } + + +?> + + + + + + + +
AUSWERTUNG
+ + +   + + + $typ) + { +?> +
Ihr SQLStatement entspricht keiner SQL__Anweisung. Bitte versuchen sie es erneut!
+ +
Sie fragen eine Tabelle ab, die sie nicht angelegt haben. Bitte versuchen sie es erneut!
+ + + +   + + + Folgen sie bitte dem untenstehenden link, um zur eben bearbeiteten Aufgabe zurück zu gelangen. + + + + << zurück zur Aufgabenstellung + + + + + + + + + + + + + AUSWERTUNG + + +   + + + + + + Richtig! Die Lösung der Aufgabe entspricht der gesuchten Musterlösung. Bitte drücken sie den untenstehenden link, um zur nächsten Aufgabe zu gelangen. + + + + + + + << zurück zur Übersicht + + zur nächsten Aufgabe >> + + + + + + +   + + + Ihre Anfrage ergab folgende Ergebnisse: + + + + + + + 0 ) + { + print "\n"; //Ausgabe der ERgebnisse auf der Seite... + print "\n"; + while ( list( $key, $val ) = each( $results ) ) + { + print "\n"; + } + print "\n"; + + for ( $i = 0; $i < $nrows; $i++ ) + { + reset($results); + print "\n"; + while ( $column = each($results) ) + { + $data = $column['value']; + print "\n"; + } + print "\n"; + + } + print ""; + print ""; + print ""; + print "
$key
$data[$i]

$ncols Spalten mit
$nrows Datensätzen ausgewählt
\n Ihre Anfrage war: " . $sql . "

"; + } + +else + { + print "\n"; + print ""; + print "
Es wurden keine Daten gefunden...
\n

"; + + } + + +?> + + + + + + + +
AUSWERTUNG
+ + +   + + + Richtig! Die Lösung der Aufgabe entspricht einer gültigen CREATE-Anweisung. Sie haben eine Ihrer Eingabe entsprechenden Tabelle angelegt. Bitte drücken sie den untenstehenden link, um zur nächsten Aufgabe zu gelangen. + + + + + << zurück zur Übersicht + + + zur nächsten Aufgabe >> + + + + + +
"; + errors($sql, $user, $_GET['lessNr']); + $e = OCIError($stmt_create); + PrintOCIError($e); // OCIFehlermeldung in Variable einlesen + } + } + + } + + else + + { +?> + +
AUSWERTUNG
+ + +   + + +
Ihr SQLStatement entspricht keiner SQL__Anweisung. Bitte versuchen sie es erneut!
+ + +   + + + Folgen sie bitte dem untenstehenden link, um zur eben bearbeiteten Aufgabe zurück zu gelangen. + + + + << zurück zur Aufgabenstellung + + + + +
AUSWERTUNG
+ + +   + + + Richtig! Sie haben erfolgreich einen Datensatz in die von Ihnen angelegten Tabelle eingefügt. Bitte klicken sie den unten stehenden Link um zur nächsten Aufgabe zu gelangen. + + + + + + + zur nächsten Aufgabe >> + + + 0) + { + } + else + { + $sql = ereg_replace("'", "''", $sql); + + $insert = "INSERT INTO NILS.LOGON VALUES ('$id', '$lesson', sysdate, '$sql')"; + + $stmt = dbconnect($insert); + + $result = OCIExecute($stmt); + } +} + +//-------------------------------------------------------------------------------------------------------- + +function tab_space_check($name, $user) +{ + $exist = "SELECT * FROM dba_tables WHERE OWNER = 'CREATOR' AND TABLESPACE_NAME = '$name$user'"; //Löschen eines Tablespace mit dem Namen+ID des Studenten (STUDENTS.NAME+STUDENTS.STUD_ID) + $exist_tablespace = createconnect($exist); + OCIExecute($exist_tablespace); + $exists = OCIFetchStatement($exist_tablespace, $results); + + if ($exists == 1) + { + + $do = "drop tablespace $name$user including contents AND DATAFILES CASCADE CONSTRAINTS"; //Löschen eines Tablespace mit dem Namen+ID des Studenten (STUDENTS.NAME+STUDENTS.STUD_ID) + $stmt_drop_tablespace = dbconnect($do); + $dr_tbl_sp = OCIExecute($stmt_drop_tablespace); + + } +} + +//-------------------------------------------------------------------------------------------------------- + + +function errors($sql, $id, $lesson) // Eintrag in die Tabelle für die fehlerhaften Statements.. +{ + $sql = ereg_replace("'", "''", $sql); + + $insert = "INSERT INTO NILS.ERROR_LOG VALUES ('$id', '$lesson', sysdate, '$sql')"; + + $stmt = dbconnect($insert); + + $result = OCIExecute($stmt); +} + + +//-------------------------------------------------------------------------------------------------------- + + +function PrintOCIError($err) //Ausgabe der ORA-Fehlermeldungen während der Aufgaben.... +{ + ?> + + + +
AUSWERTUNG
+ + +   + + +
Ihr SQLStatement konnte nicht ausgeführt werden. ".$err['message']."\n";?> Bitte versuchen sie es erneut!
+ + +   + + + Folgen sie bitte dem untenstehenden link, um zur eben bearbeiteten Aufgabe zurück zu gelangen. + + + << zurück zur Aufgabenstellung + + + + + + + + + + 0 ) + { + while ( $column = each($results) ) + { + $data = $column['value']; // alle Values in ein Array übertragen.... + } + } + +$data[$nrows] = $nrows; //auf die letzte Stelle des Arrays die Anzahl der Elemente eintragen..... + +return $data; + +} + + +//-------------------------------------------------------------------------------------------------------- + + +function getlessonID($user, $part) +{ + +$sql = "SELECT tmp.LESSON_ID FROM LESSON_ORDER LO join (SELECT * FROM LESSONS L WHERE L.AKTIV=1 AND L.PART = '$part' AND L.LESSON_ID NOT IN (SELECT LOGON.LESSON_ID FROM LOGON WHERE STUD_ID = '$user')) tmp ON tmp.LESSON_ID = LO.LESSON_ID order by LO.NR"; + +//es werden alle LessonID eingelesen... + + +$stmt = dbconnect($sql); + +OCIExecute($stmt); + +$nrows = OCIFetchStatement($stmt,$results); //Ergebnisse in Array eintragen... nrows = Anzahl der Elemente + +if ( $nrows > 0 ) + { + while ( $column = each($results) ) + { + $data = $column['value']; // alle Values in ein Array übertragen.... + } + } + +return $data; + + +} + + +//-------------------------------------------------------------------------------------------------------- + +function getlessonNR($user, $part) +{ + +$sql = "SELECT LO.NR FROM LESSON_ORDER LO join (SELECT * FROM LESSONS L WHERE L.AKTIV=1 AND L.PART = '$part' AND L.LESSON_ID NOT IN (SELECT LOGON.LESSON_ID FROM LOGON WHERE STUD_ID = '$user')) tmp ON tmp.LESSON_ID = LO.LESSON_ID order by LO.NR"; + +//es werden alle LessonID eingelesen... + + +$stmt = dbconnect($sql); + +OCIExecute($stmt); + +$nrows = OCIFetchStatement($stmt,$results); //Ergebnisse in Array eintragen... nrows = Anzahl der Elemente + +if ( $nrows > 0 ) + { + while ( $column = each($results) ) + { + $data = $column['value']; // alle Values in ein Array übertragen.... + } + } + +return $data; + + +} + + +//-------------------------------------------------------------------------------------------------------- + + + +function getlessonPart($user, $part) +{ + +$sql = "SELECT tmp.PART FROM LESSON_ORDER LO join (SELECT * FROM LESSONS L WHERE L.AKTIV=1 AND L.PART = '$part' AND L.LESSON_ID NOT IN (SELECT LOGON.LESSON_ID FROM LOGON WHERE STUD_ID = '$user')) tmp ON tmp.LESSON_ID = LO.LESSON_ID order by LO.NR"; + +//zugehörige Parts einlesen (vorbereitung oder Abfragen)... + +$stmt = dbconnect($sql); + +OCIExecute($stmt); + +$nrows = OCIFetchStatement($stmt,$results); + +if ( $nrows > 0 ) + { + while ( $column = each($results) ) + { + $data = $column['value']; + } + } + +return $data; + + +} + + +//-------------------------------------------------------------------------------------------------------- + + +function getText($ID) //zur Bereitstellung des Aufgabentextes +{ + +$sql = "SELECT TEXT FROM LESSONS WHERE LESSON_ID='$ID'"; //... + +$stmt = dbconnect($sql); + +OCIExecute($stmt); + +$nrows = OCIFetchStatement($stmt,$results); + +if ( $nrows > 0 ) + { + while ( $column = each($results) ) + { + $data = $column['value']; + } + } + +return $data; + +} + + +//-------------------------------------------------------------------------------------------------------- + + +function getMuster($ID) //zur Bereitstellung des zur Aufgabe dazugehörigen Musters +{ + +$sql = "SELECT Muster FROM LESSONS WHERE LESSON_ID='$ID'"; //... + +$stmt = dbconnect($sql); + +OCIExecute($stmt); + +$nrows = OCIFetchStatement($stmt,$results); + +if ( $nrows > 0 ) + { + while ( $column = each($results) ) + { + $data = $column['value']; + } + } + +return $data; + +} + + +//-------------------------------------------------------------------------------------------------------- + + +function savestatus($user, $lessNr) //Stand Aufgaben auf die Nummer der zuletzt bearbeiteten Aufgabe hochsetzen +{ + $update = "UPDATE students SET lesson_id = '$lessNr' where stud_id = '$user'"; + + $stmt = dbconnect($update); + + $result = OCIExecute($stmt); +} + + +//-------------------------------------------------------------------------------------------------------- + + +function correct($statement) //einfaches Parsen der Eingaben +{ + $statement = ereg_replace("\r\n", " ", $statement); //Umbrüche im String entfernen + $statement = ereg_replace(" +", " ", $statement); //mehrere Leerzeichen ersetzen + $statement = ereg_replace(";$", "", $statement); //semikolon am Ende abschneiden + $statement = ereg_replace("[ ;]$", "", $statement); //Leerzeichen + semikolon abschneiden + $statement = ereg_replace("[ +;]$", "", $statement); //mehrere Leerzeichen + semikolon + $statement = ereg_replace("[ ]$", "", $statement); //ein Leerzeichen am Ende + $statement = ereg_replace("[ +]$", "", $statement); // mehrere Leerzeichen am Ende + $statement = trim($statement); // löscht whitespace am Ende und Anfang des Strings + + $statement = strtolower($statement); //alle Zeichen der Zeichenkette werden auf Kleinbuchstaben getrimmt + + + return $statement; +} + + +//-------------------------------------------------------------------------------------------------------- + + +function getreadyMuster($ID) //Bereitstellung der bereits gelösten Aufgabenmuster +{ + +$sql = "SELECT LE.MUSTER FROM LESSONS LE, LOGON LO WHERE LO.STUD_ID = '$ID' AND LO.LESSON_ID=LE.LESSON_ID order by LO.DATUM"; //... + +$stmt = dbconnect($sql); + +OCIExecute($stmt); + +$nrows = OCIFetchStatement($stmt,$results); //Ergebnisse in Array eintragen... nrows = Anzahl der Elemente + +if ( $nrows > 0 ) + { + while ( $column = each($results) ) + { + $data = $column['value']; // alle Values in ein Array übertragen.... + } + } + +return $data; + + +} + + + +//-------------------------------------------------------------------------------------------------------- + + +function getreadyNr($user) +{ + +$sql = "SELECT LO.NR FROM LESSON_ORDER LO join (SELECT LOGON.LESSON_ID FROM LOGON WHERE STUD_ID = '$user') tmp ON tmp.LESSON_ID = LO.LESSON_ID order by LO.NR"; //... + +$stmt = dbconnect($sql); + +OCIExecute($stmt); + +$nrows = OCIFetchStatement($stmt,$results); //Ergebnisse in Array eintragen... nrows = Anzahl der Elemente + +if ( $nrows > 0 ) + { + while ( $column = each($results) ) + { + $data = $column['value']; // alle Values in ein Array übertragen.... + } + } + +return $data; + + +} + + + +//-------------------------------------------------------------------------------------------------------- + + + +function getreadyText($ID) //Bereitstellung der bereits gelösten Aufgabentexte +{ + +$sql = "SELECT LE.TEXT FROM LESSONS LE, LOGON LO WHERE LO.STUD_ID = '$ID' AND LO.LESSON_ID=LE.LESSON_ID order by LO.DATUM"; //... + +$stmt = dbconnect($sql); + +OCIExecute($stmt); + +$nrows = OCIFetchStatement($stmt,$results); //Ergebnisse in Array eintragen... nrows = Anzahl der Elemente + +if ( $nrows > 0 ) + { + while ( $column = each($results) ) + { + $data = $column['value']; // alle Values in ein Array übertragen.... + } + } + +return $data; + +} + + + +//-------------------------------------------------------------------------------------------------------- + + + +function getreadystatement($ID) //Bereitstellung der bereits gelösten Studentenlösungen +{ + +$sql = "SELECT LO.STATEMENT FROM LESSONS LE, LOGON LO WHERE LO.STUD_ID = '$ID' AND LO.LESSON_ID=LE.LESSON_ID order by LO.DATUM"; //... + +$stmt = dbconnect($sql); + +OCIExecute($stmt); + +$nrows = OCIFetchStatement($stmt,$results); //Ergebnisse in Array eintragen... nrows = Anzahl der Elemente + +if ( $nrows > 0 ) + { + while ( $column = each($results) ) + { + $data = $column['value']; // alle Values in ein Array übertragen.... + } + } + +return $data; + +} + + + + +//-------------------------------------------------------------------------------------------------------- + + +function todoText($ID) +{ + +$sql = "SELECT tmp.TEXT FROM LESSON_ORDER LO join (SELECT * FROM LESSONS L WHERE L.AKTIV=1 AND L.LESSON_ID NOT IN (SELECT LOGON.LESSON_ID FROM LOGON WHERE STUD_ID = '$ID')) tmp ON tmp.LESSON_ID = LO.LESSON_ID order by LO.NR"; //... + +$stmt = dbconnect($sql); + +OCIExecute($stmt); + +$nrows = OCIFetchStatement($stmt,$results); //Ergebnisse in Array eintragen... nrows = Anzahl der Elemente + +if ( $nrows > 0 ) + { + while ( $column = each($results) ) + { + $data = $column['value']; // alle Values in ein Array übertragen.... + } + } + +return $data; + +} + + + +//-------------------------------------------------------------------------------------------------------- + + +function todoNr($ID) +{ + +$sql = "SELECT LO.NR FROM LESSON_ORDER LO join (SELECT * FROM LESSONS L WHERE L.AKTIV=1 AND L.LESSON_ID NOT IN (SELECT LOGON.LESSON_ID FROM LOGON WHERE STUD_ID = '$ID')) tmp ON tmp.LESSON_ID = LO.LESSON_ID order by LO.NR"; //... + +$stmt = dbconnect($sql); + +OCIExecute($stmt); + +$nrows = OCIFetchStatement($stmt,$results); //Ergebnisse in Array eintragen... nrows = Anzahl der Elemente + +if ( $nrows > 0 ) + { + while ( $column = each($results) ) + { + $data = $column['value']; // alle Values in ein Array übertragen.... + } + } + +return $data; + +} + +?> \ No newline at end of file -- cgit