prepare("DELETE FROM subjects WHERE id = ? AND school_id = ?"); $stmt->execute([$delete_id, $school_id]); $message = "Subject deleted successfully."; } catch (PDOException $e) { $error = "Error deleting subject: " . $e->getMessage(); } } // Handle POST request to add or update a subject if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['subject_name'])) { $subjectName = trim($_POST['subject_name']); $has_double_lesson = isset($_POST['has_double_lesson']) ? 1 : 0; $is_elective = isset($_POST['is_elective']) ? 1 : 0; $subject_id = $_POST['subject_id'] ?? null; if (empty($subjectName)) { $error = 'Subject name cannot be empty.'; } else { try { if ($subject_id) { // Update existing subject $stmt = $pdo->prepare("UPDATE subjects SET name = ?, has_double_lesson = ?, is_elective = ? WHERE id = ? AND school_id = ?"); $stmt->execute([$subjectName, $has_double_lesson, $is_elective, $subject_id, $school_id]); $message = "Subject updated successfully!"; } else { // Insert new subject $stmt = $pdo->prepare("INSERT INTO subjects (name, has_double_lesson, is_elective, school_id) VALUES (?, ?, ?, ?)"); $stmt->execute([$subjectName, $has_double_lesson, $is_elective, $school_id]); $message = "Subject created successfully!"; } } catch (PDOException $e) { if ($e->errorInfo[1] == 1062) { // Duplicate entry $error = "Error: Subject '" . htmlspecialchars($subjectName) . "' already exists."; } else { $error = 'Database error: ' . $e->getMessage(); } } } } // Handle Edit request if (isset($_GET['edit_id'])) { try { $edit_id = $_GET['edit_id']; $stmt = $pdo->prepare("SELECT * FROM subjects WHERE id = ? AND school_id = ?"); $stmt->execute([$edit_id, $school_id]); $editing_subject = $stmt->fetch(PDO::FETCH_ASSOC); } catch (PDOException $e) { $error = "Error fetching subject: " . $e->getMessage(); } } // Fetch all subjects to display $subjects = []; try { $subjects_stmt = $pdo->prepare("SELECT * FROM subjects WHERE school_id = ? ORDER BY name ASC"); $subjects_stmt->execute([$school_id]); $subjects = $subjects_stmt->fetchAll(PDO::FETCH_ASSOC); } catch (PDOException $e) { $error = 'Database error: ' . $e->getMessage(); } ?> Admin: Manage Subjects - Haki Schedule

Manage Subjects

>
>
Cancel Edit
Existing Subjects

No subjects have been created yet.

Name Double Lesson Is Elective Actions
Edit