query("SELECT * FROM subjects ORDER BY name ASC"); while ($r = $res->fetch_assoc()) { $label = $r['name']; if (!empty($r['teacher'])) $label .= " ({$r['teacher']})"; if (!empty($r['room'])) $label .= " ({$r['room']})"; $subjects[] = ['id' => $r['id'], 'label' => $label]; } // --- Salvataggio orario --- if ($_SERVER["REQUEST_METHOD"] === "POST" && isset($_POST['class_id']) && isset($_POST['subject'])) { $class_id = intval($_POST['class_id']); if ($class_id > 0) { // Cancella solo l'orario di questa classe $conn->query("DELETE FROM timetable WHERE class_id=$class_id"); foreach ($_POST['subject'] as $day => $hours) { foreach ($hours as $hour => $sub_ids) { foreach ($sub_ids as $subject_id) { $subject_id = intval($subject_id); if (!empty($subject_id)) { $conn->query("INSERT INTO timetable (class_id, day, hour, subject_id) VALUES ($class_id, '" . $conn->real_escape_string($day) . "', $hour, $subject_id)"); } } } } header("Location: timetable.php?class_id=$class_id&saved=1"); exit; } } // --- Selezione classe corrente --- $class_id = isset($_GET['class_id']) ? intval($_GET['class_id']) : 0; // --- Precaricamento dati orario --- $preselectedData = []; if ($class_id > 0) { $res = $conn->query("SELECT * FROM timetable WHERE class_id=$class_id"); while ($r = $res->fetch_assoc()) { $preselectedData[$r['day']][$r['hour']][] = $r['subject_id']; } } ?>
Nota: Questa pagina si vede meglio da computer desktop. Se sei da computer, puoi ignorare questo messaggio.
Copyright (C) 2025 EmmeV. - Released under GNU AGPL 3.0 License.