prepare("DELETE FROM semester WHERE SEMESTER_CODE = ?"); $stmt->execute([$id]); header("Location: semester.php"); exit(); } catch(PDOException $e) { die("Delete failed: " . $e->getMessage()); } } // Handle Create/Update Operations if($_SERVER['REQUEST_METHOD'] === 'POST') { $semesterCode = $_POST['semester_code'] ?? null; $year = $_POST['year']; $term = $_POST['term']; $startDate = strtotime($_POST['start_date']); $endDate = strtotime($_POST['end_date']); // Validate dates if(!$startDate || !$endDate || $startDate > $endDate) { die("Invalid date range"); } try { if(isset($_POST['create'])) { $stmt = $pdo->prepare("INSERT INTO semester (SEMESTER_YEAR, SEMESTER_TERM, SEMESTER_START_DATE, SEMESTER_END_DATE) VALUES (?, ?, ?, ?)"); $stmt->execute([$year, $term, $startDate, $endDate]); } elseif(isset($_POST['update'])) { $stmt = $pdo->prepare("UPDATE semester SET SEMESTER_YEAR = ?, SEMESTER_TERM = ?, SEMESTER_START_DATE = ?, SEMESTER_END_DATE = ? WHERE SEMESTER_CODE = ?"); $stmt->execute([$year, $term, $startDate, $endDate, $semesterCode]); } header("Location: semester.php"); exit(); } catch(PDOException $e) { die("Operation failed: " . $e->getMessage()); } } // Fetch data try { $semesters = $pdo->query(" SELECT *, FROM_UNIXTIME(SEMESTER_START_DATE) AS start_date, FROM_UNIXTIME(SEMESTER_END_DATE) AS end_date FROM semester ORDER BY SEMESTER_YEAR DESC, SEMESTER_TERM DESC ")->fetchAll(); // Handle edit mode $semester = []; if(isset($_GET['edit'])) { $stmt = $pdo->prepare(" SELECT *, FROM_UNIXTIME(SEMESTER_START_DATE) AS start_date, FROM_UNIXTIME(SEMESTER_END_DATE) AS end_date FROM semester WHERE SEMESTER_CODE = ? "); $stmt->execute([$_GET['edit']]); $semester = $stmt->fetch(); if(!$semester) { header("Location: semester.php"); exit(); } } } catch(PDOException $e) { die("Database error: " . $e->getMessage()); } require_once 'header.php'; ?>
| Code | Year | Term | Start Date | End Date | Actions |
|---|---|---|---|---|---|
| = $s['SEMESTER_CODE'] ?> | = $s['SEMESTER_YEAR'] ?> | = match($s['SEMESTER_TERM']) {1 => 'Spring', 2 => 'Summer', 3 => 'Fall'} ?> | = date('M d, Y', strtotime($s['start_date'])) ?> | = date('M d, Y', strtotime($s['end_date'])) ?> | Edit Delete |