prepare("DELETE FROM classes WHERE id = ? AND school_id = ?"); $stmt->execute([$delete_id, $school_id]); $message = "Class deleted successfully."; } catch (PDOException $e) { if ($e->getCode() == '23000') { // Integrity constraint violation $error = "Cannot delete this class because it has subjects, workloads, or schedules associated with it. Please remove those associations before deleting."; } else { $error = "Error deleting class: " . $e->getMessage(); } } } // Handle POST request to add or update a class if ($_SERVER['REQUEST_METHOD'] === 'POST' && isset($_POST['class_name'])) { $className = trim($_POST['class_name']); $class_id = $_POST['class_id'] ?? null; if (empty($className)) { $error = 'Class name cannot be empty.'; } else { // Check for duplicates before inserting/updating $stmt = $pdo->prepare("SELECT id FROM classes WHERE name = ? AND school_id = ? AND id != ?"); $stmt->execute([$className, $school_id, $class_id ?? 0]); if ($stmt->fetch()) { $error = "Error: Class '" . htmlspecialchars($className) . "' already exists."; } else { try { if ($class_id) { // Update existing class $stmt = $pdo->prepare("UPDATE classes SET name = ? WHERE id = ? AND school_id = ?"); $stmt->execute([$className, $class_id, $school_id]); $message = "Class updated successfully!"; } else { // Insert new class $stmt = $pdo->prepare("INSERT INTO classes (name, school_id) VALUES (?, ?)"); $stmt->execute([$className, $school_id]); $message = "Class created successfully!"; } } catch (PDOException $e) { $error = 'Database error: ' . $e->getMessage(); } } } } // Handle Edit request if (isset($_GET['edit_id'])) { try { $edit_id = $_GET['edit_id']; $stmt = $pdo->prepare("SELECT * FROM classes WHERE id = ? AND school_id = ?"); $stmt->execute([$edit_id, $school_id]); $editing_class = $stmt->fetch(PDO::FETCH_ASSOC); } catch (PDOException $e) { $error = "Error fetching class: " . $e->getMessage(); } } // Fetch all classes to display $classes = []; try { $classes_stmt = $pdo->prepare("SELECT * FROM classes WHERE school_id = ? ORDER BY name ASC"); $classes_stmt->execute([$school_id]); $classes = $classes_stmt->fetchAll(PDO::FETCH_ASSOC); } catch (PDOException $e) { $error = 'Database error: ' . $e->getMessage(); } ?> Admin: Manage Classes - Haki Schedule

Manage Classes

Cancel Edit
Existing Classes

No classes have been created yet.

Name Actions
Edit