prepare("DELETE FROM subjects WHERE id = ?"); $stmt->execute([$delete_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; $elective_group = !empty($_POST['elective_group']) ? trim($_POST['elective_group']) : null; $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 = ?, elective_group = ? WHERE id = ?"); $stmt->execute([$subjectName, $has_double_lesson, $elective_group, $subject_id]); $message = "Subject updated successfully!"; } else { // Insert new subject $stmt = $pdo->prepare("INSERT INTO subjects (name, has_double_lesson, elective_group) VALUES (?, ?, ?)"); $stmt->execute([$subjectName, $has_double_lesson, $elective_group]); $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 = ?"); $stmt->execute([$edit_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->query("SELECT * FROM subjects ORDER BY created_at DESC"); $subjects = $subjects_stmt->fetchAll(PDO::FETCH_ASSOC); } catch (PDOException $e) { $error = 'Database error: ' . $e->getMessage(); } ?>