From 370168684765919be5da44851060e641fd502dfc Mon Sep 17 00:00:00 2001 From: Jan Klemkow Date: Thu, 22 Nov 2012 09:19:22 +0100 Subject: Add documentation and perl/php code from niels diploma. --- .../Dateistruktur/lessons/errror_tests.php | 52 + doc/niels-diplom/Dateistruktur/lessons/lessoni.php | 229 ++++ .../Dateistruktur/lessons/lessonstart.php | 183 ++++ .../Dateistruktur/lessons/showlessons.php | 163 +++ doc/niels-diplom/Dateistruktur/lessons/try.php | 1145 ++++++++++++++++++++ 5 files changed, 1772 insertions(+) create mode 100755 doc/niels-diplom/Dateistruktur/lessons/errror_tests.php create mode 100755 doc/niels-diplom/Dateistruktur/lessons/lessoni.php create mode 100755 doc/niels-diplom/Dateistruktur/lessons/lessonstart.php create mode 100755 doc/niels-diplom/Dateistruktur/lessons/showlessons.php create mode 100755 doc/niels-diplom/Dateistruktur/lessons/try.php (limited to 'doc/niels-diplom/Dateistruktur/lessons') diff --git a/doc/niels-diplom/Dateistruktur/lessons/errror_tests.php b/doc/niels-diplom/Dateistruktur/lessons/errror_tests.php new file mode 100755 index 0000000..cb59e58 --- /dev/null +++ b/doc/niels-diplom/Dateistruktur/lessons/errror_tests.php @@ -0,0 +1,52 @@ +".$err['message']."\n"; + die(); +} + + +function fehler($stmt) +{ + + $username = "nils"; + $password = "nils"; + $database = "ora9"; + + $con = @OCILogon($username, $password, $database); + if (!$con) { + $e = OCIError(); // For OCILogon errors pass no parameter + PrintOCIError($e); + } + + echo "Connected OK\n"; + + $stid = @OCIParse($con, $stmt); + if (!$stid) + { + $e = OCIError($con); // For OCIParse errors pass the connection + PrintOCIError($e); + } + + echo "Parsed OK\n"; + + $r = @OCIExecute($stid); + if (!$r) + { + $e = OCIError($stid); // For OCIExecute errors pass the statement + PrintOCIError($e); + } + + echo "Executed OK\n"; +} + + + +?> diff --git a/doc/niels-diplom/Dateistruktur/lessons/lessoni.php b/doc/niels-diplom/Dateistruktur/lessons/lessoni.php new file mode 100755 index 0000000..b103a23 --- /dev/null +++ b/doc/niels-diplom/Dateistruktur/lessons/lessoni.php @@ -0,0 +1,229 @@ +"; + } + + } + + + +} + + +if (isset($_POST['submitok'])) +{ + + $_POST['query'] = correct($_POST['query']); + + //einfaches Parsen des eingegebenen Strings, damit evtl. Unbrüche und sonderzeichen den Eintrag in die DB ermöglichen + + if ($_GET['SQLtype'] == "SELECT" AND $_GET['lessNr'] <> "66") + { + $succ = select($_POST['query'], $_SESSION['user'], $muster[0], $_GET['SQLtype']); //der selectZweig (function in try.php) wird eröffnet + } + + if ($_GET['lessNr'] == "66") + { + $succ = prep_select($_POST['query'], $_SESSION['user'], $muster[0], $_GET['SQLtype'], $table, $_SESSION['name']); //der prep_selectZweig (function in try.php) wird eröffnet + } + + if ($_GET['SQLtype'] == "CREATE") + { + $succ = create($_POST['query'], $_SESSION['user'], $muster[0], $_GET['SQLtype'], $_SESSION['name']); //der createZweig (function in try.php) wird eröffnet + } + + if ($_GET['SQLtype'] == "INSERT") + { + $succ = insert($_POST['query'], $_SESSION['user'], $muster[0], $_GET['SQLtype'], $_SESSION['name']); //der insertZweig (function in try.php) wird eröffnet + } + + + success($_POST['query'], $_SESSION['user'], $_GET['lessNr']); // bei erfolgreicher Execute - Eintrag in DBTabelle 'LOGON' + + //savestatus($_SESSION['user'], $_GET['lessNr']); + //die; + + exit; + +} + + +?> + + + + + Aufgabe + + + + +
+ACHTUNG >>

Sie haben nun die Möglichkeit, in die von Ihnen angelegte Tabelle:
\"" . $table . "\" Daten einzufügen!
Die Struktur der von Ihnen angelegten Tabelle entspricht folgendem Schema:
".$struktur."

"; + } + else + { + print "ACHTUNG >>

Sie haben bisher noch keine Tabelle angelegt. Bitte lösen sie zuerst die Aufgabe 2(CREATE) der Vorbereitung...

"; +?> + + +

  + + + + +ACHTUNG >>

Sie haben bereits eine Tabelle \"" . $table . "\" angelegt!
Die Struktur der von Ihnen angelegten Tabelle entspricht folgendem Schema:
".$struktur."

Bitte lösen sie nun die Aufgabe 3(INSERT) der Vorbereitung...

"; +?> + + +

  + + + 0) + { + print "Die von Ihnen angelegte Tabelle heißt \"" . $table . "\".
Die Struktur der von Ihnen angelegten Tabelle entspricht folgendem Schema:
".$struktur."

"; + } + else + { + print "Sie haben noch keine Daten in die von Ihnen angelegte Tabelle \"" . $table . "\" eingefügt.
Die Struktur der von Ihnen angelegten Tabelle entspricht folgendem Schema:
".$struktur."

Bitte lösen sie zuerst die Aufgabe 3(INSERT) der Vorbereitung...

"; +?> + + +

  + + + + +ACHTUNG >>

Sie haben bisher noch keine Tabelle angelegt. Bitte lösen sie zuerst die Aufgabe 2(CREATE) der Vorbereitung...

"; +?> + + +

  + + + + + + +

+ + +

+ + Bitte geben Sie den SQL-Code in das Formularfeld ein und bestätigen sie mit "try"..... + +

+ +
" method="post" class="text"> + + + + + + + + + + + + +
+
SQL
+
+ + + +

  + + + + + diff --git a/doc/niels-diplom/Dateistruktur/lessons/lessonstart.php b/doc/niels-diplom/Dateistruktur/lessons/lessonstart.php new file mode 100755 index 0000000..4a95a39 --- /dev/null +++ b/doc/niels-diplom/Dateistruktur/lessons/lessonstart.php @@ -0,0 +1,183 @@ + + + + + +Aufgabenbereich + + + + +
Willkommen im Aufgabenbereich Ihres Online-Praktikums. In diesem Bereich sollen sie in zwei Schritten einige grundlegende SQL-Statements ausprobieren und können die gestellten Aufgaben bequem von zu Hause aus zu erledigen.
+

+ + Die bereits erledigten Aufgaben werden nicht mehr angezeigt.
Trotzdem haben sie die Möglichkeit, diese Aufgaben per Navigationmenü erneut aufzurufen, um so Ihren derzeitigen Stand nachvollziehen zu können. Nach erfolgreicher Erledigung jeder Aufgabe, werden Sie über das Ergebnis Ihrer Anfrage informiert und können entscheiden, ob Sie zur nächsten Aufgabe wechseln oder die Sitzung beenden wollen.
Während Ihrer Arbeit werden Ihre Datenbankzugriffe protokolliert und dem Kursleiter und Ihnen zur Verfügung gestellt. So können sie sich selbst kontrollieren und bekommen einen Nachweis über Ihre Tätigkeit. Viel Spaß und Erfolg im weiteren Verlauf des Praktikums.

+ + + + + + + + + + + + + + + + + + + + + + + + + +
1. Vorbereitung2. Anfragen
+ + + + + + + + + + + + + + + + + + + + + + + + +
+Sehen sie sich Ihre persönliche Auswertung unter dem entsprechenden Punkt im Menü an."; + + //Falls der Nutzer noch einen Tablesspace hat - löschen... + + $check = tab_space_check(strtoupper($_SESSION['name']), $_SESSION['user']); //hat der Nutzer noch Tablespace?? + +?> +
+ Aufgabe +
+
+ + + + + + + + + + + + + + + +
+Sehen sie sich Ihre persönliche Auswertung unter dem entsprechenden Punkt im Menü an."; +?> +
Aufgabe +
+

Aufgabenstellungen im Überblick >>
+ + + + + + + + +

  + + + + + \ No newline at end of file diff --git a/doc/niels-diplom/Dateistruktur/lessons/showlessons.php b/doc/niels-diplom/Dateistruktur/lessons/showlessons.php new file mode 100755 index 0000000..0c0e628 --- /dev/null +++ b/doc/niels-diplom/Dateistruktur/lessons/showlessons.php @@ -0,0 +1,163 @@ + + + + +Aufgabenübersicht von + + + +
+ + + +Die nachfolgenden Aufgaben wurden erfolgreich gelöst + + + + + + + +
+ + + + + + + + + +

+ +
+ + + + + Aufgabe + + + Aufgabenstellung: + + + Die Musterlösung war: + + + Ihre Lösung war: + + + + + + + +

+ + + +Folgende Aufgaben müssen zum erfolgreichen Abschluß des Praktikums noch gelöst werden. + + + + + + + + + +

+ + + + + +
+ +
+ + + + + Aufgabe + + + Aufgabenstellung: + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/doc/niels-diplom/Dateistruktur/lessons/try.php b/doc/niels-diplom/Dateistruktur/lessons/try.php new file mode 100755 index 0000000..8b54d82 --- /dev/null +++ b/doc/niels-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