'.$_SESSION['status'].' '; unset($_SESSION['status']); } } function checkParamId($paramType) { if(isset($_GET[$paramType])) { if($_GET[$paramType] != null) { return $_GET[$paramType]; } else { return 'keine ID gefunden'; } } else { return 'keine ID angegeben'; } } function getAll($columnname,$tablename,$conditionvalue = "") { global $conn; $column = validate($columnname); $table = validate($tablename); //$condition = validate($conditionvalue); $query = "SELECT $column FROM $table $conditionvalue"; $result = mysqli_query($conn, $query); return $result; } function getById($tableName, $id) { global $conn; $table = validate($tableName); $id = validate($id); $query = "SELECT * FROM $table WHERE id='$id' LIMIT 1"; $result = mysqli_Query($conn, $query); if($result) { if(mysqli_num_rows($result) == 1) { $row = mysqli_fetch_array($result, MYSQLI_ASSOC); $response = [ 'status' => 200, 'message' => 'Daten konnten abgerufen werden', 'data' => $row ]; return $response; } else { $response = [ 'status' => 404, 'message' => 'Keinen Eintrag gefunden' ]; return $response; } } else { $response = [ 'status' => 500, 'message' => 'Ein Fehler ist aufgetreten' ]; return $response; } } function getByCategoryId($tableName, $id) { global $conn; $table = validate($tableName); $id = validate($id); $query = "SELECT * FROM $table WHERE id='$id' LIMIT 1"; $result = mysqli_Query($conn, $query); if($result) { if(mysqli_num_rows($result) == 1) { $row = mysqli_fetch_array($result, MYSQLI_ASSOC); $response = [ 'status' => 200, 'message' => 'Daten konnten abgerufen werden', 'data' => $row ]; return $response; } else { $response = [ 'status' => 404, 'message' => 'Keinen Eintrag gefunden' ]; return $response; } } else { $response = [ 'status' => 500, 'message' => 'Ein Fehler ist aufgetreten' ]; return $response; } } function archiveQuery($tablename, $id) { global $conn; $table = validate($tablename); $id = validate($id); $query = "UPDATE $table SET status='archived' WHERE id='$id' LIMIT 1"; $result = mysqli_query($conn, $query); return $result; } function reactivateQuery($tablename, $id) { global $conn; $table = validate($tablename); $id = validate($id); $query = "UPDATE $table SET status='active' WHERE id='$id' LIMIT 1"; $result = mysqli_query($conn, $query); return $result; } function deleteQuery($tablename, $id, $limit = "") { global $conn; $table = validate($tablename); $id = validate($id); $query = "DELETE FROM $table WHERE id='$id' '$limit'"; $result = mysqli_query($conn, $query); return $result; } function getAllClasses($status) { global $conn; if(!$status) {$querystatus = "";} elseif($status){$querystatus = "WHERE status='$status'";} $query = "SELECT id, CONCAT(sek, ' ', type, ' - ', name) AS display_name FROM tbl_classes $querystatus ORDER BY display_name ASC"; $result = mysqli_query($conn, $query); $classOptions = array(); if ($result) { while ($row = mysqli_fetch_assoc($result)) { $classOptions[$row['id']] = $row['display_name']; } } return $classOptions; } function getStudentCountsPerClass() { global $conn; $classOptions = getAllClasses('active'); $classCounts = array(); if (!empty($classOptions)) { foreach ($classOptions as $classID => $className) { $query = "SELECT COUNT(*) as count FROM tbl_students WHERE class = $classID AND (status='active' OR status='disabled')"; $result = mysqli_query($conn, $query); if ($result) { $row = mysqli_fetch_assoc($result); $count = $row['count']; } else { $count = 0; } $classCounts[$classID] = $count; } } return $classCounts; } function createEnumSelect($tableName, $columnName, $selectedValue = '', $valueLabels = []) { global $conn; $query = "SHOW COLUMNS FROM $tableName LIKE '$columnName'"; $result = mysqli_query($conn, $query); if ($result) { $row = mysqli_fetch_assoc($result); $enumStr = $row['Type']; $enumValues = explode(",", str_replace("'", "", substr($enumStr, 5, -1))); foreach ($enumValues as $enumValue) { $enumLabel = isset($valueLabels[$enumValue]) ? $valueLabels[$enumValue] : ucfirst($enumValue); $selected = ($enumValue == $selectedValue) ? 'selected' : ''; echo ""; } } else { echo ""; } } function createEnumSelectFiltered($tableName, $columnName, $selectedValue = '', $valueLabels = []) { global $conn; $query = "SHOW COLUMNS FROM $tableName LIKE '$columnName'"; $result = mysqli_query($conn, $query); if ($result) { $row = mysqli_fetch_assoc($result); $enumStr = $row['Type']; $enumValues = explode(",", str_replace("'", "", substr($enumStr, 5, -1))); foreach ($enumValues as $enumValue) { if (isset($valueLabels[$enumValue])) { $enumLabel = $valueLabels[$enumValue]; $selected = ($enumValue == $selectedValue) ? 'selected' : ''; echo ""; } } } else { echo ""; } } function getArchivedStudentsWithActiveClasses() { global $conn; $query = "SELECT tbl_students.id AS student_id, tbl_students.firstname AS student_firstname, tbl_students.lastname AS student_lastname, tbl_students.userid AS student_userid, CONCAT(tbl_classes.sek, ' ', tbl_classes.type, ' - ', tbl_classes.name) AS display_name FROM tbl_students INNER JOIN tbl_classes ON tbl_students.class = tbl_classes.id WHERE tbl_students.status = 'archived' AND tbl_classes.status != 'archived'"; $result = mysqli_query($conn, $query); $students = array(); while ($row = mysqli_fetch_assoc($result)) { $students[] = $row; } return $students; } function deleteArchivedStudentsWithActiveClasses($students) { global $conn; foreach ($students as $student) { $student_id = $student['student_id']; $query = "DELETE FROM tbl_students WHERE id='$student_id'"; $result = mysqli_query($conn, $query); } return $result; } function reactivateArchivedStudentsWithActiveClasses($students) { global $conn; foreach ($students as $student) { $student_id = $student['student_id']; $query = "UPDATE tbl_students SET status='active' WHERE id='$student_id'"; $result = mysqli_query($conn, $query); } return $result; } function getArchivedClasses() { global $conn; $query = "SELECT tbl_classes.id AS class_id, CONCAT(tbl_classes.sek, ' ', tbl_classes.type, ' - ', tbl_classes.name) AS display_name, GROUP_CONCAT( CONCAT(tbl_students.firstname, ' ', tbl_students.lastname, ' (ID: ', tbl_students.userid, ')') SEPARATOR '
' ) AS students FROM tbl_classes LEFT JOIN tbl_students ON tbl_classes.id = tbl_students.class WHERE tbl_classes.status = 'archived' AND tbl_students.status = 'archived' GROUP BY tbl_classes.id"; $result = mysqli_query($conn, $query); $classes = array(); while ($row = mysqli_fetch_assoc($result)) { $classes[] = $row; } return $classes; } function getClassesGroupedByLevel($status) { global $conn; if (!$status) { $querystatus = ""; } elseif ($status) { $querystatus = "WHERE status='$status'"; } $query = "SELECT id, sek, CONCAT(sek, ' ', type, ' - ', name) AS display_name FROM tbl_classes $querystatus ORDER BY sek ASC, display_name ASC"; $result = mysqli_query($conn, $query); $groupedClasses = array(); if ($result) { while ($row = mysqli_fetch_assoc($result)) { $level = $row['sek']; // Erstelle ein neues Array für die Stufe, wenn es noch nicht existiert if (!isset($groupedClasses[$level])) { $groupedClasses[$level] = array(); } // Füge die Klasse zur entsprechenden Stufe hinzu $groupedClasses[$level][] = array( 'id' => $row['id'], 'display_name' => $row['display_name'] ); } } return $groupedClasses; } function getAssignedItems($tableName, $primaryId, $secondaryColumn, $primaryColumn) { global $conn; $primaryId = validate($primaryId); $query = "SELECT $secondaryColumn FROM $tableName WHERE $primaryColumn = '$primaryId'"; $result = mysqli_query($conn, $query); $assignedItems = array(); while ($row = mysqli_fetch_assoc($result)) { $assignedItems[] = $row[$secondaryColumn]; } return $assignedItems; } function getStudentInformation($id) { global $conn; $id = validate($id); $query = "SELECT tbl_students.id, tbl_students.firstname, tbl_students.lastname, tbl_students.userid, tbl_students.status, tbl_students.dateofbirth, tbl_students.gender, tbl_students.class, tbl_students.emailstudent, tbl_students.emailparent1, tbl_students.emailparent2, CONCAT(tbl_classes.sek, ' ', tbl_classes.type, ' - ', tbl_classes.name) AS classDisplayName FROM tbl_students JOIN tbl_classes ON tbl_students.class = tbl_classes.id WHERE tbl_students.id = '$id'"; $result = mysqli_query($conn, $query); if($result) { if(mysqli_num_rows($result) == 1) { $row = mysqli_fetch_array($result, MYSQLI_ASSOC); $response = [ 'data' => $row ]; return $response; } } } function getCategories($id) { global $conn; $id = validate($id); $query = "SELECT tbl_students.id, tbl_categories.id AS category_id, tbl_categories.name FROM tbl_students JOIN tbl_classes ON tbl_students.class = tbl_classes.id JOIN tbl_assign_categories_classes ON tbl_classes.id = tbl_assign_categories_classes.class_id JOIN tbl_categories ON tbl_assign_categories_classes.category_id = tbl_categories.id WHERE tbl_students.id = '$id'"; $result = mysqli_query($conn, $query); if($result) { $categories = array(); while ($row = mysqli_fetch_assoc($result)) { $categories[] = $row; } return $categories; } } function getForms($student_id) { global $conn; $student_id = validate($student_id); $query = "SELECT tbl_forms.id AS form_id, tbl_forms.name AS form_name, tbl_forms.deadline AS deadline FROM tbl_forms JOIN tbl_assign_forms_classes ON tbl_forms.id = tbl_assign_forms_classes.form_id JOIN tbl_students ON tbl_assign_forms_classes.class_id = tbl_students.class WHERE tbl_students.id = '$student_id'"; $result = mysqli_query($conn, $query); if($result) { $forms = array(); while ($row = mysqli_fetch_assoc($result)) { $forms[] = $row; } return $forms; } } function getClassesPerCategory($category_id){ global $conn; $category_id = validate($category_id); $query = " SELECT tbl_classes.id, tbl_classes.sek, CONCAT(tbl_classes.sek, ' ', tbl_classes.type, ' - ', tbl_classes.name) AS classDisplayName FROM tbl_classes LEFT JOIN tbl_assign_categories_classes ON tbl_classes.id = tbl_assign_categories_classes.class_id WHERE tbl_classes.status = 'active' AND (tbl_assign_categories_classes.category_id = '$category_id' OR tbl_assign_categories_classes.category_id IS NULL) ORDER BY sek ASC, classDisplayName ASC "; $result = mysqli_query($conn, $query); // Annahme: $conn ist Ihre MySQL-Verbindung // Hier können Sie die verfügbaren Klassen für die Anzeige verwenden if ($result) { $classes = array(); while ($row = mysqli_fetch_assoc($result)) { $classes[] = $row; // Hier können Sie die Klasse anzeigen oder in Ihrer Anwendung verwenden } return $classes; } } function getClassesPerForm($form_id){ global $conn; $form_id = validate($form_id); $query = " SELECT tbl_classes.id, tbl_classes.sek, CONCAT(tbl_classes.sek, ' ', tbl_classes.type, ' - ', tbl_classes.name) AS classDisplayName FROM tbl_classes INNER JOIN tbl_assign_forms_classes ON tbl_classes.id = tbl_assign_forms_classes.class_id WHERE tbl_classes.status = 'active' AND (tbl_assign_forms_classes.form_id = '$form_id') ORDER BY sek ASC, classDisplayName ASC "; $result = mysqli_query($conn, $query); // Annahme: $conn ist Ihre MySQL-Verbindung // Hier können Sie die verfügbaren Klassen für die Anzeige verwenden if ($result) { $classes = array(); while ($row = mysqli_fetch_assoc($result)) { $classes[] = $row; // Hier können Sie die Klasse anzeigen oder in Ihrer Anwendung verwenden } return $classes; } } function getClassesPerFormContent($formcontent_id){ global $conn; $formcontent_id = validate($formcontent_id); $query = " SELECT tbl_classes.id, tbl_classes.sek, CONCAT(tbl_classes.sek, ' ', tbl_classes.type, ' - ', tbl_classes.name) AS classDisplayName FROM tbl_classes INNER JOIN tbl_assign_formcontents_classes ON tbl_classes.id = tbl_assign_formcontents_classes.class_id WHERE tbl_classes.status = 'active' AND (tbl_assign_formcontents_classes.formcontent_id = '$formcontent_id') ORDER BY sek ASC, classDisplayName ASC "; $result = mysqli_query($conn, $query); if ($result) { $classes = array(); while ($row = mysqli_fetch_assoc($result)) { $classes[] = $row; } return $classes; } } function getTeachers() { global $conn; // Führe die Abfrage aus $query = "SELECT CONCAT(firstname, ' ', lastname) AS name, id FROM tbl_teachers ORDER BY name ASC"; $result = mysqli_query($conn, $query); // Überprüfe, ob die Abfrage erfolgreich war if (!$result) { die("Fehler beim Ausführen der Abfrage: " . mysqli_error($conn)); } // Fetch die Ergebnisse und speichere nur die benötigten Informationen $data = array(); while ($row = mysqli_fetch_assoc($result)) { $data[] = $row; } return $data; } function getCourseTeacher($id) { global $conn; // Führe die Abfrage aus $query = "SELECT CONCAT(firstname, ' ', lastname) AS name FROM tbl_teachers WHERE id='$id'"; $result = mysqli_query($conn, $query); if ($result) { // Holen Sie den Datensatz aus dem Ergebnis $row = mysqli_fetch_assoc($result); // Rückgabe des Namens des Kursleiters return $row['name']; } else { // Rückgabe eines leeren Strings im Fehlerfall return ''; } } function getCourseDatesByCourseID($courseID) { global $conn; $courseID = validate($courseID); $query = "SELECT * FROM tbl_coursedates WHERE course_id='$courseID'"; $result = mysqli_query($conn, $query); $courseDates = array(); if ($result) { while ($row = mysqli_fetch_assoc($result)) { $courseDates[] = $row; } } return $courseDates; } function getCoursesByClassAndCategory($classID, $categoryID) { global $conn; $classID = validate($classID); $categoryID = validate($categoryID); $query = "SELECT tbl_courses.id, tbl_courses.name, tbl_courses.slogan FROM tbl_courses INNER JOIN tbl_assign_courses_classes ON tbl_courses.id = tbl_assign_courses_classes.course_id INNER JOIN tbl_categories ON tbl_courses.category_id = tbl_categories.id INNER JOIN tbl_classes ON tbl_assign_courses_classes.class_id = tbl_classes.id WHERE tbl_classes.id = '$classID' AND tbl_categories.id = '$categoryID'"; $result = mysqli_query($conn, $query); if($result) { $courses = array(); while ($row = mysqli_fetch_assoc($result)) { $courses[] = $row; } return $courses; } } function getDeadline($categoryID, $classID) { global $conn; $categoryID = validate($categoryID); $classID = validate($classID); // Zuerst prüfen, ob die Deadline für die Kategorie festgelegt ist $query = "SELECT registration, showuntil, showuntil_set, deadline_set, deadline FROM tbl_categories WHERE id='$categoryID'"; $result = mysqli_query($conn, $query); if ($result) { $row = mysqli_fetch_assoc($result); if (($row['registration'] == 'yes') && ($row['deadline_set'] == 'yes')) { return $row['deadline']; } if (($row['registration'] == 'yes') && ($row['deadline_set'] == 'custom')) { // Abfrage, um die neueste Deadline aller Kurse der Kategorie und Klasse zu finden $courseQuery = "SELECT MAX(tbl_courses.deadline) AS max_deadline FROM tbl_courses INNER JOIN tbl_assign_courses_classes ON tbl_courses.id = tbl_assign_courses_classes.course_id WHERE tbl_courses.category_id='$categoryID' AND tbl_assign_courses_classes.class_id='$classID'"; $courseResult = mysqli_query($conn, $courseQuery); $courseRow = mysqli_fetch_assoc($courseResult); return $courseRow['max_deadline']; } if (($row['registration'] == 'no') && ($row['showuntil_set'] == 'yes')) { return $row['showuntil']; } if (($row['registration'] == 'no') && ($row['showuntil_set'] == 'custom')) { // Abfrage, um die neueste Deadline aller Kurse der Kategorie und Klasse zu finden $courseQuery = "SELECT MAX(tbl_courses.show_until) AS max_showuntil FROM tbl_courses INNER JOIN tbl_assign_courses_classes ON tbl_courses.id = tbl_assign_courses_classes.course_id WHERE tbl_courses.category_id='$categoryID' AND tbl_assign_courses_classes.class_id='$classID'"; $courseResult = mysqli_query($conn, $courseQuery); $courseRow = mysqli_fetch_assoc($courseResult); return $courseRow['max_showuntil']; } if (($row['registration'] == 'custom')) { // Abfrage, um die neueste Deadline oder show_until aller Kurse der Kategorie und Klasse zu finden $courseQuery = "SELECT MAX(CASE WHEN tbl_courses.registration = 'yes' THEN tbl_courses.deadline WHEN tbl_courses.registration = 'no' THEN tbl_courses.show_until ELSE NULL END) AS max_deadline_or_showuntil FROM tbl_courses INNER JOIN tbl_assign_courses_classes ON tbl_courses.id = tbl_assign_courses_classes.course_id WHERE tbl_courses.category_id='$categoryID' AND tbl_assign_courses_classes.class_id='$classID'"; $courseResult = mysqli_query($conn, $courseQuery); $courseRow = mysqli_fetch_assoc($courseResult); return $courseRow['max_deadline_or_showuntil']; } } return null; // Rückgabe von null, wenn keine Deadline gefunden wurde } function getCourseDeadline($courseID) { global $conn; $courseID = validate($courseID); // Abfrage, um die Kategorie-ID des Kurses zu finden $query = "SELECT category_id FROM tbl_courses WHERE id='$courseID'"; $result = mysqli_query($conn, $query); if ($result && mysqli_num_rows($result) > 0) { $row = mysqli_fetch_assoc($result); $categoryID = $row['category_id']; // Abfrage, um den Namen der Kategorie anhand der Kategorie-ID zu finden $query = "SELECT registration, showuntil, showuntil_set, deadline_set, deadline FROM tbl_categories WHERE id='$categoryID'"; $result = mysqli_query($conn, $query); if ($result && mysqli_num_rows($result) > 0) { $row = mysqli_fetch_assoc($result); if (($row['registration'] == 'yes') && ($row['deadline_set'] == 'yes')) { return $row['deadline']; } if (($row['registration'] == 'yes') && ($row['deadline_set'] == 'custom')) { // Abfrage, um die neueste Deadline aller Kurse der Kategorie und Klasse zu finden $courseQuery = "SELECT deadline FROM tbl_courses WHERE id='$courseID'"; $courseResult = mysqli_query($conn, $courseQuery); $courseRow = mysqli_fetch_assoc($courseResult); return $courseRow['deadline']; } if (($row['registration'] == 'no') && ($row['showuntil_set'] == 'yes')) { return $row['showuntil']; } if (($row['registration'] == 'no') && ($row['showuntil_set'] == 'custom')) { // Abfrage, um die neueste Deadline aller Kurse der Kategorie und Klasse zu finden $courseQuery = "SELECT show_until FROM tbl_courses WHERE id='$courseID'"; $courseResult = mysqli_query($conn, $courseQuery); $courseRow = mysqli_fetch_assoc($courseResult); return $courseRow['show_until']; } if (($row['registration'] == 'custom')) { // Abfrage, um die neueste Deadline oder show_until aller Kurse der Kategorie und Klasse zu finden $courseQuery = "SELECT (CASE WHEN registration = 'yes' THEN deadline WHEN registration = 'no' THEN show_until ELSE NULL END) AS deadline_or_showuntil FROM tbl_courses WHERE id='$courseID'"; $courseResult = mysqli_query($conn, $courseQuery); $courseRow = mysqli_fetch_assoc($courseResult); return $courseRow['deadline_or_showuntil']; } } } return null; // Zuerst prüfen, ob die Deadline für die Kategorie festgelegt ist $query = "SELECT registration, showuntil, showuntil_set, deadline_set, deadline FROM tbl_categories WHERE id='$categoryID'"; $result = mysqli_query($conn, $query); if ($result) { $row = mysqli_fetch_assoc($result); if (($row['registration'] == 'yes') && ($row['deadline_set'] == 'yes')) { return $row['deadline']; } if (($row['registration'] == 'yes') && ($row['deadline_set'] == 'custom')) { // Abfrage, um die neueste Deadline aller Kurse der Kategorie und Klasse zu finden $courseQuery = "SELECT MAX(tbl_courses.deadline) AS max_deadline FROM tbl_courses INNER JOIN tbl_assign_courses_classes ON tbl_courses.id = tbl_assign_courses_classes.course_id WHERE tbl_courses.category_id='$categoryID' AND tbl_assign_courses_classes.class_id='$classID'"; $courseResult = mysqli_query($conn, $courseQuery); $courseRow = mysqli_fetch_assoc($courseResult); return $courseRow['max_deadline']; } if (($row['registration'] == 'no') && ($row['showuntil_set'] == 'yes')) { return $row['showuntil']; } if (($row['registration'] == 'no') && ($row['showuntil_set'] == 'custom')) { // Abfrage, um die neueste Deadline aller Kurse der Kategorie und Klasse zu finden $courseQuery = "SELECT MAX(tbl_courses.show_until) AS max_showuntil FROM tbl_courses INNER JOIN tbl_assign_courses_classes ON tbl_courses.id = tbl_assign_courses_classes.course_id WHERE tbl_courses.category_id='$categoryID' AND tbl_assign_courses_classes.class_id='$classID'"; $courseResult = mysqli_query($conn, $courseQuery); $courseRow = mysqli_fetch_assoc($courseResult); return $courseRow['max_showuntil']; } if (($row['registration'] == 'custom')) { // Abfrage, um die neueste Deadline oder show_until aller Kurse der Kategorie und Klasse zu finden $courseQuery = "SELECT MAX(CASE WHEN tbl_courses.registration = 'yes' THEN tbl_courses.deadline WHEN tbl_courses.registration = 'no' THEN tbl_courses.show_until ELSE NULL END) AS max_deadline_or_showuntil FROM tbl_courses INNER JOIN tbl_assign_courses_classes ON tbl_courses.id = tbl_assign_courses_classes.course_id WHERE tbl_courses.category_id='$categoryID' AND tbl_assign_courses_classes.class_id='$classID'"; $courseResult = mysqli_query($conn, $courseQuery); $courseRow = mysqli_fetch_assoc($courseResult); return $courseRow['max_deadline_or_showuntil']; } } return null; // Rückgabe von null, wenn keine Deadline gefunden wurde } function getActiveStudentsByCategory($categoryID) { global $conn; $categoryID = validate($categoryID); // Abfrage, um alle aktiven Schüler abzurufen, die einer bestimmten Kategorie zugewiesen sind $query = "SELECT DISTINCT tbl_students.id, tbl_students.class, tbl_students.firstname, tbl_students.lastname, CONCAT(tbl_students.firstname, ' ', tbl_students.lastname) AS name FROM tbl_students INNER JOIN tbl_assign_categories_classes ON tbl_students.class = tbl_assign_categories_classes.class_id WHERE tbl_assign_categories_classes.category_id = '$categoryID' AND tbl_students.status != 'archived'"; $result = mysqli_query($conn, $query); $students = []; if ($result && mysqli_num_rows($result) > 0) { while ($row = mysqli_fetch_assoc($result)) { $students[] = $row; } } return $students; } function getStudentCourseData($studentID, $courseID) { global $conn; $studentID = validate($studentID); $courseID = validate($courseID); // Abfrage, um die Daten des Schülers für den angegebenen Kurs abzurufen $query = "SELECT * FROM tbl_assign_students_courses WHERE student_id='$studentID' AND course_id='$courseID'"; $result = mysqli_query($conn, $query); if ($result && mysqli_num_rows($result) > 0) { $row = mysqli_fetch_assoc($result); return $row; } } function getCoursesByCategory($categoryID) { global $conn; $categoryID = validate($categoryID); // Abfrage, um alle Kurse abzurufen, die einer bestimmten Kategorie zugeordnet sind $query = "SELECT * FROM tbl_courses WHERE category_id = '$categoryID'"; $result = mysqli_query($conn, $query); $courses = []; if ($result && mysqli_num_rows($result) > 0) { while ($row = mysqli_fetch_assoc($result)) { $courses[] = $row; } } return $courses; } function getStudentAssignments($studentID) { global $conn; $studentID = validate($studentID); $query = "SELECT * FROM tbl_assign_students_courses WHERE student_id = $studentID"; $result = mysqli_query($conn, $query); if ($result) { $assignments = array(); while ($row = mysqli_fetch_assoc($result)) { $assignments[] = $row; } return $assignments; } else { return false; } } function isStudentRegisteredForCourse($studentId, $courseId) { // Hier eine Abfrage zur Datenbank machen, um zu prüfen, ob ein Eintrag in tbl_assign_students_courses existiert global $conn; // Annahme, dass $conn die Datenbankverbindung ist $query = "SELECT COUNT(*) FROM tbl_assign_students_courses WHERE student_id = ? AND course_id = ?"; $stmt = $conn->prepare($query); $stmt->bind_param('ii', $studentId, $courseId); $stmt->execute(); $stmt->bind_result($count); $stmt->fetch(); $stmt->close(); return $count > 0; } // Function to get all courses assigned to a student function getAllAssignedCourses($studentID) { global $conn; $assignedCourses = array(); $query = "SELECT course_id FROM tbl_assign_students_courses WHERE student_id = '$studentID'"; $result = mysqli_query($conn, $query); if ($result) { while ($row = mysqli_fetch_assoc($result)) { $assignedCourses[] = $row['course_id']; } } return $assignedCourses; } function getAllAssignedCoursesByCategory($studentID, $categoryID) { global $conn; $assignedCourses = array(); $query = "SELECT tac.course_id FROM tbl_assign_students_courses tac JOIN tbl_courses tc ON tac.course_id = tc.id WHERE tac.student_id = '$studentID' AND tc.category_id = '$categoryID'"; $result = mysqli_query($conn, $query); if ($result) { while ($row = mysqli_fetch_assoc($result)) { $assignedCourses[] = $row['course_id']; } } return $assignedCourses; } ?>