Delete tiny-college directory

This commit is contained in:
ssbg04 authored and GitHub committed 2025-04-10 21:04:22 +08:00
1 parent 9617dcf8db
commit 80959e6551
34 files changed
-2094

No files matched your search

-13
View File
@@ -1,13 +0,0 @@
<?php
$host = "localhost";
$dbname = "tiny_college";
$username = "root";
$password = "";
try {
$pdo = new PDO("mysql:host=$host;dbname=$dbname", $username, $password);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch(PDOException $e) {
die("Connection failed: " . $e->getMessage());
}
?>
@@ -1,34 +0,0 @@
<?php
require_once 'config.php';
require_once 'header.php';
if(isset($_POST['update'])){
$id = $_POST['school_code'];
$name = $_POST['school_name'];
$stmt = $pdo->prepare("UPDATE school SET SCHOOL_NAME = ? WHERE SCHOOL_CODE = ?");
$stmt->execute([$name, $id]);
header("Location: schools.php");
}
$id = $_GET['id'];
$stmt = $pdo->prepare("SELECT * FROM school WHERE SCHOOL_CODE = ?");
$stmt->execute([$id]);
$school = $stmt->fetch();
?>
<h2>Edit School</h2>
<form method="POST">
<input type="hidden" name="school_code" value="<?= $school['SCHOOL_CODE'] ?>">
<div class="mb-3">
<label>School Name</label>
<input type="text" name="school_name" value="<?= htmlspecialchars($school['SCHOOL_NAME']) ?>" class="form-control" required>
</div>
<button type="submit" name="update" class="btn btn-primary">Update</button>
<a href="schools.php" class="btn btn-secondary">Cancel</a>
</form>
<?php require_once 'footer.php'; ?>
-46
View File
@@ -1,46 +0,0 @@
<?php
require_once '../db/config.php';
if(isset($_POST['update'])){
$id = $_POST['school_code'];
$name = $_POST['school_name'];
try {
$stmt = $pdo->prepare("UPDATE school SET SCHOOL_NAME = ? WHERE SCHOOL_CODE = ?");
$stmt->execute([$name, $id]);
header("Location: schools.php");
exit();
} catch(PDOException $e) {
die("Update failed: " . $e->getMessage());
}
}
try {
$id = $_GET['id'];
$stmt = $pdo->prepare("SELECT * FROM school WHERE SCHOOL_CODE = ?");
$stmt->execute([$id]);
$school = $stmt->fetch();
if(!$school) die("School not found");
} catch(PDOException $e) {
die("Error fetching school: " . $e->getMessage());
}
require_once '../pages/school_manage/header.php';
?>
<h2>Edit School</h2>
<form method="POST">
<input type="hidden" name="school_code" value="<?= $school['SCHOOL_CODE'] ?>">
<div class="mb-3">
<label>School Name</label>
<input type="text" name="school_name" value="<?= htmlspecialchars($school['SCHOOL_NAME']) ?>" class="form-control" required>
</div>
<button type="submit" name="update" class="btn btn-primary">Update</button>
<a href="../pages/school_manage/schools.php" class="btn btn-secondary">Cancel</a>
</form>
<?php require_once '../pages/school_manage/footer.php'; ?>
-95
View File
@@ -1,95 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Tiny College Admin</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
<div class="container">
<a class="navbar-brand" href="#">Tiny College</a>
<div class="collapse navbar-collapse">
<ul class="navbar-nav me-auto">
<li class="nav-item"><a class="nav-link" style="text-decoration: underline orange 1px; color: white;" href="../../pages/school_manage/schools.php">Schools</a></li>
<li class="nav-item"><a class="nav-link" href="pages/building_manage/buildings.php">Buildings</a></li>
<li class="nav-item"><a class="nav-link" href="pages/room_manage/rooms.php">Rooms</a></li>
<li class="nav-item"><a class="nav-link" href="pages/department_manage/departments.php">Departments</a></li>
<li class="nav-item"><a class="nav-link" href="pages/professor_manage/professors.php">Professors</a></li>
<li class="nav-item"><a class="nav-link" href="pages/student_manage/students.php">Students</a></li>
<li class="nav-item"><a class="nav-link" href="pages/class_manage/class.php">Class</a></li>
<li class="nav-item"><a class="nav-link" href="pages/semester_manage/semester.php">Semester</a></li>
<li class="nav-item"><a class="nav-link" href="pages/enroll_manage/enroll.php">Enroll</a></li>
<li class="nav-item"><a class="nav-link" href="pages/course_manage/courses.php">Courses</a></li>
</ul>
</div>
</div>
</nav>
<div class="container mt-4">
<?php
require_once 'db/config.php';
// Create
if(isset($_POST['create'])){
$schoolName = $_POST['school_name'];
$stmt = $pdo->prepare("INSERT INTO school (SCHOOL_NAME) VALUES (?)");
$stmt->execute([$schoolName]);
}
// Delete
if(isset($_GET['delete'])){
$id = $_GET['delete'];
$stmt = $pdo->prepare("DELETE FROM school WHERE SCHOOL_CODE = ?");
$stmt->execute([$id]);
}
// Read
$stmt = $pdo->query("SELECT * FROM school");
$schools = $stmt->fetchAll(PDO::FETCH_ASSOC);
?>
<h2>Schools Management</h2>
<!-- Create Form -->
<div class="card mb-4">
<div class="card-body">
<form method="POST">
<div class="row">
<div class="col-md-8">
<input type="text" name="school_name" class="form-control" placeholder="School Name" required>
</div>
<div class="col-md-4">
<button type="submit" name="create" class="btn btn-primary">Add School</button>
</div>
</div>
</form>
</div>
</div>
<!-- Schools Table -->
<table class="table table-striped">
<thead>
<tr>
<th>Code</th>
<th>School Name</th>
<th>Actions</th>
</tr>
</thead>
<tbody>
<?php foreach($schools as $school): ?>
<tr>
<td><?= $school['SCHOOL_CODE'] ?></td>
<td><?= htmlspecialchars($school['SCHOOL_NAME']) ?></td>
<td>
<a href="edit_school.php?id=<?= $school['SCHOOL_CODE'] ?>" class="btn btn-sm btn-warning">Edit</a>
<a href="?delete=<?= $school['SCHOOL_CODE'] ?>" class="btn btn-sm btn-danger" onclick="return confirm('Are you sure?')">Delete</a>
</td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
</div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>
@@ -1,126 +0,0 @@
<?php
require_once '../../db/config.php';
// Handle Delete
if(isset($_GET['delete'])){
try {
$id = $_GET['delete'];
$stmt = $pdo->prepare("DELETE FROM building WHERE BLDG_CODE = ?");
$stmt->execute([$id]);
header("Location: buildings.php");
exit();
} catch(PDOException $e) {
die("Delete failed: " . $e->getMessage());
}
}
// Handle Create/Update
if($_SERVER['REQUEST_METHOD'] === 'POST') {
$bldgCode = $_POST['bldg_code'] ?? null;
$name = $_POST['name'];
$location = $_POST['location'];
try {
if(isset($_POST['create'])) {
$stmt = $pdo->prepare("INSERT INTO building (BLDG_NAME, BLDG_LOCATION) VALUES (?, ?)");
$stmt->execute([$name, $location]);
} elseif(isset($_POST['update'])) {
$stmt = $pdo->prepare("UPDATE building SET BLDG_NAME = ?, BLDG_LOCATION = ? WHERE BLDG_CODE = ?");
$stmt->execute([$name, $location, $bldgCode]);
}
header("Location: buildings.php");
exit();
} catch(PDOException $e) {
die("Operation failed: " . $e->getMessage());
}
}
// Fetch buildings and handle edit mode
try {
$buildings = $pdo->query("SELECT * FROM building")->fetchAll();
$building = [];
if(isset($_GET['edit'])) {
$stmt = $pdo->prepare("SELECT * FROM building WHERE BLDG_CODE = ?");
$stmt->execute([$_GET['edit']]);
$building = $stmt->fetch();
if(!$building) {
header("Location: buildings.php");
exit();
}
}
} catch(PDOException $e) {
die("Database error: " . $e->getMessage());
}
require_once 'header.php';
?>
<h2>Building Management</h2>
<!-- Form -->
<div class="card mb-4">
<div class="card-body">
<form method="POST">
<?php if(isset($_GET['edit'])): ?>
<input type="hidden" name="bldg_code" value="<?= $building['BLDG_CODE'] ?>">
<h4>Edit Building</h4>
<?php else: ?>
<h4>Add Building</h4>
<?php endif; ?>
<div class="row g-3">
<div class="col-md-6">
<label>Building Name</label>
<input type="text" name="name"
value="<?= htmlspecialchars($building['BLDG_NAME'] ?? '') ?>"
class="form-control" required>
</div>
<div class="col-md-6">
<label>Location</label>
<input type="text" name="location"
value="<?= htmlspecialchars($building['BLDG_LOCATION'] ?? '') ?>"
class="form-control">
</div>
<div class="col-md-12">
<button type="submit" name="<?= isset($_GET['edit']) ? 'update' : 'create' ?>"
class="btn btn-primary">
<?= isset($_GET['edit']) ? 'Update' : 'Create' ?>
</button>
</div>
</div>
</form>
</div>
</div>
<!-- Table -->
<table class="table table-striped">
<thead>
<tr>
<th>Code</th>
<th>Building Name</th>
<th>Location</th>
<th>Actions</th>
</tr>
</thead>
<tbody>
<?php foreach($buildings as $b): ?>
<tr>
<td><?= $b['BLDG_CODE'] ?></td>
<td><?= htmlspecialchars($b['BLDG_NAME']) ?></td>
<td><?= htmlspecialchars($b['BLDG_LOCATION']) ?></td>
<td>
<a href="buildings.php?edit=<?= $b['BLDG_CODE'] ?>"
class="btn btn-sm btn-warning">Edit</a>
<a href="buildings.php?delete=<?= $b['BLDG_CODE'] ?>"
class="btn btn-sm btn-danger"
onclick="return confirm('Delete this building?')">Delete</a>
</td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
<?php require_once 'footer.php'; ?>
@@ -1,4 +0,0 @@
</div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>
@@ -1,29 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Tiny College Admin</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
<div class="container">
<a class="navbar-brand" href="#">Tiny College</a>
<div class="collapse navbar-collapse">
<ul class="navbar-nav me-auto">
<li class="nav-item"><a class="nav-link" href="../../pages/school_manage/schools.php">Schools</a></li>
<li class="nav-item"><a class="nav-link" style="text-decoration: underline orange 1px; color: white;" href="../../pages/building_manage/buildings.php">Buildings</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/room_manage/rooms.php">Rooms</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/department_manage/departments.php">Departments</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/professor_manage/professors.php">Professors</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/student_manage/students.php">Students</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/class_manage/class.php">Class</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/semester_manage/semester.php">Semester</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/enroll_manage/enroll.php">Enroll</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/course_manage/courses.php">Courses</a></li>
</ul>
</div>
</div>
</nav>
<div class="container mt-4"></div>
-184
View File
@@ -1,184 +0,0 @@
<?php
require_once '../../db/config.php';
// Handle Delete Operation
if(isset($_GET['delete'])){
try {
$id = $_GET['delete'];
$stmt = $pdo->prepare("DELETE FROM class WHERE CLASS_CODE = ?");
$stmt->execute([$id]);
header("Location: class.php");
exit();
} catch(PDOException $e) {
die("Delete failed: " . $e->getMessage());
}
}
// Handle Create/Update Operations
if($_SERVER['REQUEST_METHOD'] === 'POST') {
$classCode = $_POST['class_code'] ?? null;
$section = $_POST['section'];
$time = $_POST['time'];
$crsCode = $_POST['crs_code'];
$semesterCode = $_POST['semester_code'];
try {
if(isset($_POST['create'])) {
$stmt = $pdo->prepare("INSERT INTO class
(CLASS_SECTION, CLASS_TIME, CRS_CODE, SEMESTER_CODE)
VALUES (?, ?, ?, ?)");
$stmt->execute([$section, $time, $crsCode, $semesterCode]);
} elseif(isset($_POST['update'])) {
$stmt = $pdo->prepare("UPDATE class SET
CLASS_SECTION = ?,
CLASS_TIME = ?,
CRS_CODE = ?,
SEMESTER_CODE = ?
WHERE CLASS_CODE = ?");
$stmt->execute([$section, $time, $crsCode, $semesterCode, $classCode]);
}
header("Location: class.php");
exit();
} catch(PDOException $e) {
die("Operation failed: " . $e->getMessage());
}
}
// Fetch Data
try {
// Get all classes with related info
$classes = $pdo->query("
SELECT c.*,
crs.CRS_TITLE,
sem.SEMESTER_TERM,
sem.SEMESTER_YEAR
FROM class c
JOIN course crs ON c.CRS_CODE = crs.CRS_CODE
JOIN semester sem ON c.SEMESTER_CODE = sem.SEMESTER_CODE
ORDER BY sem.SEMESTER_YEAR DESC, sem.SEMESTER_TERM DESC
")->fetchAll();
// Get courses for dropdown
$courses = $pdo->query("SELECT * FROM course")->fetchAll();
// Get semesters for dropdown
$semesters = $pdo->query("SELECT * FROM semester")->fetchAll();
// Handle edit mode
$class = [];
if(isset($_GET['edit'])) {
$stmt = $pdo->prepare("SELECT * FROM class WHERE CLASS_CODE = ?");
$stmt->execute([$_GET['edit']]);
$class = $stmt->fetch();
if(!$class) {
header("Location: class.php");
exit();
}
}
} catch(PDOException $e) {
die("Database error: " . $e->getMessage());
}
require_once 'header.php';
?>
<h2>Class Management</h2>
<!-- Class Form -->
<div class="card mb-4">
<div class="card-body">
<form method="POST">
<?php if(isset($_GET['edit'])): ?>
<input type="hidden" name="class_code" value="<?= $class['CLASS_CODE'] ?>">
<h4>Edit Class</h4>
<?php else: ?>
<h4>Add New Class</h4>
<?php endif; ?>
<div class="row g-3">
<div class="col-md-4">
<label>Section</label>
<input type="text" name="section"
value="<?= htmlspecialchars($class['CLASS_SECTION'] ?? '') ?>"
class="form-control" required>
</div>
<div class="col-md-4">
<label>Class Time</label>
<input type="text" name="time"
value="<?= htmlspecialchars($class['CLASS_TIME'] ?? '') ?>"
class="form-control" placeholder="HH:MM - HH:MM" required>
</div>
<div class="col-md-6">
<label>Course</label>
<select name="crs_code" class="form-select" required>
<?php foreach($courses as $c): ?>
<option value="<?= $c['CRS_CODE'] ?>"
<?= (isset($class['CRS_CODE']) && $class['CRS_CODE'] == $c['CRS_CODE']) ? 'selected' : '' ?>>
<?= htmlspecialchars($c['CRS_TITLE']) ?>
</option>
<?php endforeach; ?>
</select>
</div>
<div class="col-md-6">
<label>Semester</label>
<select name="semester_code" class="form-select" required>
<?php foreach($semesters as $s): ?>
<option value="<?= $s['SEMESTER_CODE'] ?>"
<?= (isset($class['SEMESTER_CODE']) && $class['SEMESTER_CODE'] == $s['SEMESTER_CODE']) ? 'selected' : '' ?>>
<?= $s['SEMESTER_TERM'] ?> <?= $s['SEMESTER_YEAR'] ?>
</option>
<?php endforeach; ?>
</select>
</div>
<div class="col-md-12 mt-3">
<button type="submit" name="<?= isset($_GET['edit']) ? 'update' : 'create' ?>"
class="btn btn-primary">
<?= isset($_GET['edit']) ? 'Update' : 'Create' ?>
</button>
<?php if(isset($_GET['edit'])): ?>
<a href="class.php" class="btn btn-secondary">Cancel</a>
<?php endif; ?>
</div>
</div>
</form>
</div>
</div>
<!-- Classes Table -->
<table class="table table-striped">
<thead class="table-dark">
<tr>
<th>Code</th>
<th>Course</th>
<th>Section</th>
<th>Time</th>
<th>Semester</th>
<th>Actions</th>
</tr>
</thead>
<tbody>
<?php foreach($classes as $c): ?>
<tr>
<td><?= $c['CLASS_CODE'] ?></td>
<td><?= htmlspecialchars($c['CRS_TITLE']) ?></td>
<td><?= htmlspecialchars($c['CLASS_SECTION']) ?></td>
<td><?= htmlspecialchars($c['CLASS_TIME']) ?></td>
<td><?= $c['SEMESTER_TERM'] ?> <?= $c['SEMESTER_YEAR'] ?></td>
<td>
<a href="class.php?edit=<?= $c['CLASS_CODE'] ?>"
class="btn btn-sm btn-warning">Edit</a>
<a href="class.php?delete=<?= $c['CLASS_CODE'] ?>"
class="btn btn-sm btn-danger"
onclick="return confirm('Delete this class?')">Delete</a>
</td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
<?php require_once 'footer.php'; ?>
@@ -1,4 +0,0 @@
</div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>
@@ -1,29 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Tiny College Admin</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
<div class="container">
<a class="navbar-brand" href="#">Tiny College</a>
<div class="collapse navbar-collapse">
<ul class="navbar-nav me-auto">
<li class="nav-item"><a class="nav-link" href="../../pages/school_manage/schools.php">Schools</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/building_manage/buildings.php">Buildings</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/room_manage/rooms.php">Rooms</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/department_manage/departments.php">Departments</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/professor_manage/professors.php">Professors</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/student_manage/students.php">Students</a></li>
<li class="nav-item"><a class="nav-link" style="text-decoration: underline orange 1px; color: white;" href="../../pages/class_manage/class.php">Class</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/semester_manage/semester.php">Semester</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/enroll_manage/enroll.php">Enroll</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/course_manage/courses.php">Courses</a></li>
</ul>
</div>
</div>
</nav>
<div class="container mt-4"></div>
@@ -1,155 +0,0 @@
<?php
require_once '../../db/config.php';
// Handle Delete Operation
if(isset($_GET['delete'])){
try {
$id = $_GET['delete'];
$stmt = $pdo->prepare("DELETE FROM course WHERE CRS_CODE = ?");
$stmt->execute([$id]);
header("Location: courses.php");
exit();
} catch(PDOException $e) {
die("Delete failed: " . $e->getMessage());
}
}
// Handle Create/Update Operations
if($_SERVER['REQUEST_METHOD'] === 'POST') {
$crsCode = $_POST['crs_code'] ?? null;
$title = $_POST['title'];
$description = $_POST['description'];
$credits = $_POST['credits'];
$deptCode = $_POST['dept_code'];
try {
if(isset($_POST['create'])) {
$stmt = $pdo->prepare("INSERT INTO course
(CRS_TITLE, CRS_DESCRIPTION, CRS_CREDIT, DEPT_CODE)
VALUES (?, ?, ?, ?)");
$stmt->execute([$title, $description, $credits, $deptCode]);
} elseif(isset($_POST['update'])) {
$stmt = $pdo->prepare("UPDATE course SET
CRS_TITLE = ?,
CRS_DESCRIPTION = ?,
CRS_CREDIT = ?,
DEPT_CODE = ?
WHERE CRS_CODE = ?");
$stmt->execute([$title, $description, $credits, $deptCode, $crsCode]);
}
header("Location: courses.php");
exit();
} catch(PDOException $e) {
die("Operation failed: " . $e->getMessage());
}
}
// Fetch data for display
$courses = $pdo->query("
SELECT c.*, d.DEPT_NAME
FROM course c
JOIN department d ON c.DEPT_CODE = d.DEPT_CODE
ORDER BY c.CRS_CODE
")->fetchAll(PDO::FETCH_ASSOC);
$departments = $pdo->query("SELECT * FROM department")->fetchAll();
require_once 'header.php';
?>
<h2>Courses Management</h2>
<!-- Create/Edit Form -->
<div class="card mb-4">
<div class="card-body">
<form method="POST">
<?php if(isset($_GET['edit'])):
$editStmt = $pdo->prepare("SELECT * FROM course WHERE CRS_CODE = ?");
$editStmt->execute([$_GET['edit']]);
$course = $editStmt->fetch();
?>
<input type="hidden" name="crs_code" value="<?= $course['CRS_CODE'] ?>">
<h4>Edit Course</h4>
<?php else: ?>
<h4>Add New Course</h4>
<?php endif; ?>
<div class="row g-3">
<div class="col-md-8">
<label>Course Title</label>
<input type="text" name="title"
value="<?= $course['CRS_TITLE'] ?? '' ?>"
class="form-control" required maxlength="20">
</div>
<div class="col-md-4">
<label>Course Credits</label>
<input type="number" name="credits"
value="<?= $course['CRS_CREDIT'] ?? '' ?>"
class="form-control" min="1" max="5" required>
</div>
<div class="col-md-12">
<label>Description</label>
<textarea name="description" class="form-control" maxlength="50"
><?= $course['CRS_DESCRIPTION'] ?? '' ?></textarea>
</div>
<div class="col-md-6">
<label>Department</label>
<select name="dept_code" class="form-select" required>
<?php foreach($departments as $dept): ?>
<option value="<?= $dept['DEPT_CODE'] ?>"
<?= (isset($course) && $course['DEPT_CODE'] == $dept['DEPT_CODE']) ? 'selected' : '' ?>>
<?= htmlspecialchars($dept['DEPT_NAME']) ?>
</option>
<?php endforeach; ?>
</select>
</div>
<div class="col-md-12 mt-3">
<?php if(isset($_GET['edit'])): ?>
<button type="submit" name="update" class="btn btn-primary">Update</button>
<a href="courses.php" class="btn btn-secondary">Cancel</a>
<?php else: ?>
<button type="submit" name="create" class="btn btn-success">Create</button>
<?php endif; ?>
</div>
</div>
</form>
</div>
</div>
<!-- Courses Table -->
<table class="table table-striped table-hover">
<thead class="table-dark">
<tr>
<th>Code</th>
<th>Title</th>
<th>Description</th>
<th>Credits</th>
<th>Department</th>
<th>Actions</th>
</tr>
</thead>
<tbody>
<?php foreach($courses as $course): ?>
<tr>
<td><?= $course['CRS_CODE'] ?></td>
<td><?= htmlspecialchars($course['CRS_TITLE']) ?></td>
<td><?= htmlspecialchars($course['CRS_DESCRIPTION']) ?></td>
<td><?= $course['CRS_CREDIT'] ?></td>
<td><?= htmlspecialchars($course['DEPT_NAME']) ?></td>
<td>
<a href="courses.php?edit=<?= $course['CRS_CODE'] ?>"
class="btn btn-sm btn-warning">Edit</a>
<a href="courses.php?delete=<?= $course['CRS_CODE'] ?>"
class="btn btn-sm btn-danger"
onclick="return confirm('Delete this course?')">Delete</a>
</td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
<?php require_once 'footer.php'; ?>
@@ -1,4 +0,0 @@
</div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>
@@ -1,29 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Tiny College Admin</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
<div class="container">
<a class="navbar-brand" href="#">Tiny College</a>
<div class="collapse navbar-collapse">
<ul class="navbar-nav me-auto">
<li class="nav-item"><a class="nav-link" href="../../pages/school_manage/schools.php">Schools</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/building_manage/buildings.php">Buildings</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/room_manage/rooms.php">Rooms</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/department_manage/departments.php">Departments</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/professor_manage/professors.php">Professors</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/student_manage/students.php">Students</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/class_manage/class.php">Class</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/semester_manage/semester.php">Semester</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/enroll_manage/enroll.php">Enroll</a></li>
<li class="nav-item"><a class="nav-link" style="text-decoration: underline orange 1px; color: white;" href="../../pages/course_manage/courses.php">Courses</a></li>
</ul>
</div>
</div>
</nav>
<div class="container mt-4"></div>
@@ -1,128 +0,0 @@
<?php
require_once '../../db/config.php';
// Handle Delete Operation
if(isset($_GET['delete'])){
try {
$id = $_GET['delete'];
$stmt = $pdo->prepare("DELETE FROM department WHERE DEPT_CODE = ?");
$stmt->execute([$id]);
header("Location: departments.php");
exit();
} catch(PDOException $e) {
die("Delete failed: " . $e->getMessage());
}
}
// Handle Create/Update Operations
if($_SERVER['REQUEST_METHOD'] === 'POST') {
$deptCode = $_POST['dept_code'] ?? null;
$deptName = $_POST['dept_name'];
$schoolCode = $_POST['school_code'];
try {
if(isset($_POST['create'])) {
$stmt = $pdo->prepare("INSERT INTO department (DEPT_NAME, SCHOOL_CODE) VALUES (?, ?)");
$stmt->execute([$deptName, $schoolCode]);
} elseif(isset($_POST['update'])) {
$stmt = $pdo->prepare("UPDATE department SET DEPT_NAME = ?, SCHOOL_CODE = ? WHERE DEPT_CODE = ?");
$stmt->execute([$deptName, $schoolCode, $deptCode]);
}
header("Location: departments.php");
exit();
} catch(PDOException $e) {
die("Operation failed: " . $e->getMessage());
}
}
// Fetch data for display
$departments = $pdo->query("
SELECT d.*, s.SCHOOL_NAME
FROM department d
JOIN school s ON d.SCHOOL_CODE = s.SCHOOL_CODE
")->fetchAll(PDO::FETCH_ASSOC);
$schools = $pdo->query("SELECT * FROM school")->fetchAll();
require_once 'header.php';
?>
<h2>Departments Management</h2>
<!-- Create/Edit Form -->
<div class="card mb-4">
<div class="card-body">
<form method="POST">
<?php if(isset($_GET['edit'])):
$editDept = $pdo->prepare("SELECT * FROM department WHERE DEPT_CODE = ?");
$editDept->execute([$_GET['edit']]);
$dept = $editDept->fetch();
?>
<input type="hidden" name="dept_code" value="<?= $dept['DEPT_CODE'] ?>">
<h4>Edit Department</h4>
<?php else: ?>
<h4>Add New Department</h4>
<?php endif; ?>
<div class="row g-3">
<div class="col-md-6">
<label>Department Name</label>
<input type="text" name="dept_name"
value="<?= isset($dept) ? htmlspecialchars($dept['DEPT_NAME']) : '' ?>"
class="form-control" required>
</div>
<div class="col-md-6">
<label>School</label>
<select name="school_code" class="form-select" required>
<?php foreach($schools as $school): ?>
<option value="<?= $school['SCHOOL_CODE'] ?>"
<?= (isset($dept) && $dept['SCHOOL_CODE'] == $school['SCHOOL_CODE']) ? 'selected' : '' ?>>
<?= htmlspecialchars($school['SCHOOL_NAME']) ?>
</option>
<?php endforeach; ?>
</select>
</div>
<div class="col-md-12">
<?php if(isset($_GET['edit'])): ?>
<button type="submit" name="update" class="btn btn-primary">Update</button>
<a href="departments.php" class="btn btn-secondary">Cancel</a>
<?php else: ?>
<button type="submit" name="create" class="btn btn-success">Create</button>
<?php endif; ?>
</div>
</div>
</form>
</div>
</div>
<!-- Departments Table -->
<table class="table table-striped table-hover">
<thead class="table-dark">
<tr>
<th>Code</th>
<th>Department Name</th>
<th>School</th>
<th>Actions</th>
</tr>
</thead>
<tbody>
<?php foreach($departments as $dept): ?>
<tr>
<td><?= $dept['DEPT_CODE'] ?></td>
<td><?= htmlspecialchars($dept['DEPT_NAME']) ?></td>
<td><?= htmlspecialchars($dept['SCHOOL_NAME']) ?></td>
<td>
<a href="departments.php?edit=<?= $dept['DEPT_CODE'] ?>"
class="btn btn-sm btn-warning">Edit</a>
<a href="departments.php?delete=<?= $dept['DEPT_CODE'] ?>"
class="btn btn-sm btn-danger"
onclick="return confirm('Delete this department?')">Delete</a>
</td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
<?php require_once 'footer.php'; ?>
@@ -1,4 +0,0 @@
</div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>
@@ -1,29 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Tiny College Admin</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
<div class="container">
<a class="navbar-brand" href="#">Tiny College</a>
<div class="collapse navbar-collapse">
<ul class="navbar-nav me-auto">
<li class="nav-item"><a class="nav-link" href="../../pages/school_manage/schools.php">Schools</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/building_manage/buildings.php">Buildings</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/room_manage/rooms.php">Rooms</a></li>
<li class="nav-item"><a class="nav-link" style="text-decoration: underline orange 1px; color: white;" href="../../pages/department_manage/departments.php">Departments</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/professor_manage/professors.php">Professors</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/student_manage/students.php">Students</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/class_manage/class.php">Class</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/semester_manage/semester.php">Semester</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/enroll_manage/enroll.php">Enroll</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/course_manage/courses.php">Courses</a></li>
</ul>
</div>
</div>
</nav>
<div class="container mt-4"></div>
-206
View File
@@ -1,206 +0,0 @@
<?php
require_once '../../db/config.php';
// Handle Delete Operation
if(isset($_GET['delete_class']) && isset($_GET['delete_student'])){
try {
$classCode = $_GET['delete_class'];
$stuNum = $_GET['delete_student'];
$stmt = $pdo->prepare("DELETE FROM enroll WHERE CLASS_CODE = ? AND STU_NUM = ?");
$stmt->execute([$classCode, $stuNum]);
header("Location: enroll.php");
exit();
} catch(PDOException $e) {
die("Delete failed: " . $e->getMessage());
}
}
// Handle Create/Update Operations
if($_SERVER['REQUEST_METHOD'] === 'POST') {
$originalClass = $_POST['original_class_code'] ?? null;
$originalStudent = $_POST['original_stu_num'] ?? null;
$classCode = $_POST['class_code'];
$stuNum = $_POST['stu_num'];
$enrollDate = $_POST['enroll_date'];
$grade = $_POST['grade'] ?? null;
try {
if(isset($_POST['create'])) {
$stmt = $pdo->prepare("INSERT INTO enroll
(CLASS_CODE, STU_NUM, ENROLL_DATE, ENROLL_GRADE)
VALUES (?, ?, ?, ?)");
$stmt->execute([$classCode, $stuNum, $enrollDate, $grade]);
} elseif(isset($_POST['update'])) {
$stmt = $pdo->prepare("UPDATE enroll SET
CLASS_CODE = ?,
STU_NUM = ?,
ENROLL_DATE = ?,
ENROLL_GRADE = ?
WHERE CLASS_CODE = ? AND STU_NUM = ?");
$stmt->execute([$classCode, $stuNum, $enrollDate, $grade, $originalClass, $originalStudent]);
}
header("Location: enroll.php");
exit();
} catch(PDOException $e) {
die("Operation failed: " . $e->getMessage());
}
}
// Fetch Data
try {
$enrollments = $pdo->query("
SELECT e.*, c.CLASS_SECTION, crs.CRS_TITLE,
sem.SEMESTER_TERM, sem.SEMESTER_YEAR,
CONCAT(s.STU_FNAME, ' ', s.STU_LNAME) AS STUDENT_NAME
FROM enroll e
JOIN class c ON e.CLASS_CODE = c.CLASS_CODE
JOIN course crs ON c.CRS_CODE = crs.CRS_CODE
JOIN semester sem ON c.SEMESTER_CODE = sem.SEMESTER_CODE
JOIN student s ON e.STU_NUM = s.STU_NUM
ORDER BY e.ENROLL_DATE DESC
")->fetchAll();
$classes = $pdo->query("
SELECT c.*, crs.CRS_TITLE, sem.SEMESTER_TERM, sem.SEMESTER_YEAR
FROM class c
JOIN course crs ON c.CRS_CODE = crs.CRS_CODE
JOIN semester sem ON c.SEMESTER_CODE = sem.SEMESTER_CODE
")->fetchAll();
$students = $pdo->query("
SELECT STU_NUM, CONCAT(STU_FNAME, ' ', STU_LNAME) AS FULL_NAME
FROM student
ORDER BY STU_LNAME
")->fetchAll();
// Handle edit mode
$enrollment = [];
if(isset($_GET['edit_class']) && isset($_GET['edit_student'])) {
$stmt = $pdo->prepare("
SELECT * FROM enroll
WHERE CLASS_CODE = ? AND STU_NUM = ?
");
$stmt->execute([$_GET['edit_class'], $_GET['edit_student']]);
$enrollment = $stmt->fetch();
if(!$enrollment) {
header("Location: enroll.php");
exit();
}
}
} catch(PDOException $e) {
die("Database error: " . $e->getMessage());
}
require_once 'header.php';
?>
<h2>Enrollment Management</h2>
<!-- Enrollment Form -->
<div class="card mb-4">
<div class="card-body">
<form method="POST">
<?php if(isset($_GET['edit_class']) && isset($_GET['edit_student'])): ?>
<input type="hidden" name="original_class_code" value="<?= $enrollment['CLASS_CODE'] ?>">
<input type="hidden" name="original_stu_num" value="<?= $enrollment['STU_NUM'] ?>">
<h4>Edit Enrollment</h4>
<?php else: ?>
<h4>Add New Enrollment</h4>
<?php endif; ?>
<div class="row g-3">
<div class="col-md-6">
<label>Class</label>
<select name="class_code" class="form-select" required>
<?php foreach($classes as $c): ?>
<option value="<?= $c['CLASS_CODE'] ?>"
<?= (isset($enrollment['CLASS_CODE']) && $enrollment['CLASS_CODE'] == $c['CLASS_CODE']) ? 'selected' : '' ?>>
<?= htmlspecialchars($c['CRS_TITLE']) ?> -
<?= $c['SEMESTER_TERM'] ?> <?= $c['SEMESTER_YEAR'] ?>
(Section <?= $c['CLASS_SECTION'] ?>)
</option>
<?php endforeach; ?>
</select>
</div>
<div class="col-md-6">
<label>Student</label>
<select name="stu_num" class="form-select" required>
<?php foreach($students as $s): ?>
<option value="<?= $s['STU_NUM'] ?>"
<?= (isset($enrollment['STU_NUM']) && $enrollment['STU_NUM'] == $s['STU_NUM']) ? 'selected' : '' ?>>
<?= htmlspecialchars($s['FULL_NAME']) ?>
</option>
<?php endforeach; ?>
</select>
</div>
<div class="col-md-4">
<label>Enrollment Date</label>
<input type="date" name="enroll_date"
value="<?= htmlspecialchars($enrollment['ENROLL_DATE'] ?? date('Y-m-d')) ?>"
class="form-control" required>
</div>
<div class="col-md-4">
<label>Grade (0-100)</label>
<input type="number" name="grade"
value="<?= htmlspecialchars($enrollment['ENROLL_GRADE'] ?? '') ?>"
class="form-control" min="0" max="100">
</div>
<div class="col-md-12 mt-3">
<button type="submit" name="<?= isset($_GET['edit_class']) ? 'update' : 'create' ?>"
class="btn btn-primary">
<?= isset($_GET['edit_class']) ? 'Update' : 'Create' ?>
</button>
<?php if(isset($_GET['edit_class'])): ?>
<a href="enroll.php" class="btn btn-secondary">Cancel</a>
<?php endif; ?>
</div>
</div>
</form>
</div>
</div>
<!-- Enrollments Table -->
<table class="table table-striped">
<thead class="table-dark">
<tr>
<th>Student</th>
<th>Course</th>
<th>Semester</th>
<th>Enrollment Date</th>
<th>Grade</th>
<th>Actions</th>
</tr>
</thead>
<tbody>
<?php foreach($enrollments as $e): ?>
<tr>
<td><?= htmlspecialchars($e['STUDENT_NAME']) ?></td>
<td><?= htmlspecialchars($e['CRS_TITLE']) ?></td>
<td>
<?= match($e['SEMESTER_TERM']) {
1 => 'Spring',
2 => 'Summer',
3 => 'Fall'
} ?>
<?= $e['SEMESTER_YEAR'] ?>
</td>
<td><?= date('M d, Y', strtotime($e['ENROLL_DATE'])) ?></td>
<td><?= $e['ENROLL_GRADE'] ?: 'N/A' ?></td>
<td>
<a href="enroll.php?edit_class=<?= $e['CLASS_CODE'] ?>&edit_student=<?= $e['STU_NUM'] ?>"
class="btn btn-sm btn-warning">Edit</a>
<a href="enroll.php?delete_class=<?= $e['CLASS_CODE'] ?>&delete_student=<?= $e['STU_NUM'] ?>"
class="btn btn-sm btn-danger"
onclick="return confirm('Delete this enrollment?')">Delete</a>
</td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
<?php require_once 'footer.php'; ?>
@@ -1,4 +0,0 @@
</div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>
@@ -1,30 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Tiny College Admin</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
<div class="container">
<a class="navbar-brand" href="#">Tiny College</a>
<div class="collapse navbar-collapse">
<ul class="navbar-nav me-auto">
<li class="nav-item"><a class="nav-link" href="../../pages/school_manage/schools.php">Schools</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/building_manage/buildings.php">Buildings</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/room_manage/rooms.php">Rooms</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/department_manage/departments.php">Departments</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/professor_manage/professors.php">Professors</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/student_manage/students.php">Students</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/class_manage/class.php">Class</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/semester_manage/semester.php">Semester</a></li>
<li class="nav-item"><a class="nav-link" style="text-decoration: underline orange 1px; color: white;" href="../../pages/enroll_manage/enroll.php">Enroll</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/course_manage/courses.php">Courses</a></li>
</ul>
</ul>
</div>
</div>
</nav>
<div class="container mt-4"></div>
@@ -1,4 +0,0 @@
</div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>
@@ -1,29 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Tiny College Admin</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
<div class="container">
<a class="navbar-brand" href="#">Tiny College</a>
<div class="collapse navbar-collapse">
<ul class="navbar-nav me-auto">
<li class="nav-item"><a class="nav-link" href="../../pages/school_manage/schools.php">Schools</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/building_manage/buildings.php">Buildings</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/room_manage/rooms.php">Rooms</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/department_manage/departments.php">Departments</a></li>
<li class="nav-item"><a class="nav-link" style="text-decoration: underline orange 1px; color: white;" href="../../pages/professor_manage/professors.php">Professors</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/student_manage/students.php">Students</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/class_manage/class.php">Class</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/semester_manage/semester.php">Semester</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/enroll_manage/enroll.php">Enroll</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/course_manage/courses.php">Courses</a></li>
</ul>
</div>
</div>
</nav>
<div class="container mt-4"></div>
@@ -1,205 +0,0 @@
<?php
require_once '../../db/config.php';
// Handle Delete Operation
if(isset($_GET['delete'])){
try {
$id = $_GET['delete'];
$stmt = $pdo->prepare("DELETE FROM professor WHERE PROF_NUM = ?");
$stmt->execute([$id]);
header("Location: professors.php");
exit();
} catch(PDOException $e) {
die("Delete failed: " . $e->getMessage());
}
}
// Handle Create/Update Operations
if($_SERVER['REQUEST_METHOD'] === 'POST') {
$profNum = $_POST['prof_num'] ?? null;
$schoolCode = $_POST['school_code'];
$deptCode = $_POST['dept_code'];
$specialty = $_POST['specialty'];
$rank = $_POST['rank'];
$lname = $_POST['lname'];
$fname = $_POST['fname'];
$initial = $_POST['initial'];
$email = $_POST['email'];
try {
if(isset($_POST['create'])) {
$stmt = $pdo->prepare("INSERT INTO professor
(SCHOOL_CODE, DEPT_CODE, PROF_SPECIALTY, PROF_RANK, PROF_LNAME, PROF_FNAME, PROF_INITIAL, PROF_EMAIL)
VALUES (?, ?, ?, ?, ?, ?, ?, ?)");
$stmt->execute([$schoolCode, $deptCode, $specialty, $rank, $lname, $fname, $initial, $email]);
} elseif(isset($_POST['update'])) {
$stmt = $pdo->prepare("UPDATE professor SET
SCHOOL_CODE = ?,
DEPT_CODE = ?,
PROF_SPECIALTY = ?,
PROF_RANK = ?,
PROF_LNAME = ?,
PROF_FNAME = ?,
PROF_INITIAL = ?,
PROF_EMAIL = ?
WHERE PROF_NUM = ?");
$stmt->execute([$schoolCode, $deptCode, $specialty, $rank, $lname, $fname, $initial, $email, $profNum]);
}
header("Location: professors.php");
exit();
} catch(PDOException $e) {
die("Operation failed: " . $e->getMessage());
}
}
// Fetch data for display
$professors = $pdo->query("
SELECT p.*, s.SCHOOL_NAME, d.DEPT_NAME
FROM professor p
JOIN school s ON p.SCHOOL_CODE = s.SCHOOL_CODE
JOIN department d ON p.DEPT_CODE = d.DEPT_CODE
")->fetchAll(PDO::FETCH_ASSOC);
$schools = $pdo->query("SELECT * FROM school")->fetchAll();
$departments = $pdo->query("SELECT * FROM department")->fetchAll();
require_once 'header.php';
?>
<h2>Professors Management</h2>
<!-- Create/Edit Form -->
<div class="card mb-4">
<div class="card-body">
<form method="POST">
<?php if(isset($_GET['edit'])):
$editProf = $pdo->prepare("SELECT * FROM professor WHERE PROF_NUM = ?");
$editProf->execute([$_GET['edit']]);
$prof = $editProf->fetch();
?>
<input type="hidden" name="prof_num" value="<?= $prof['PROF_NUM'] ?>">
<h4>Edit Professor</h4>
<?php else: ?>
<h4>Add New Professor</h4>
<?php endif; ?>
<div class="row g-3">
<div class="col-md-4">
<label>First Name</label>
<input type="text" name="fname"
value="<?= $prof['PROF_FNAME'] ?? '' ?>"
class="form-control" required>
</div>
<div class="col-md-4">
<label>Last Name</label>
<input type="text" name="lname"
value="<?= $prof['PROF_LNAME'] ?? '' ?>"
class="form-control" required>
</div>
<div class="col-md-2">
<label>Initial</label>
<input type="text" name="initial"
value="<?= $prof['PROF_INITIAL'] ?? '' ?>"
class="form-control" maxlength="4">
</div>
<div class="col-md-6">
<label>Email</label>
<input type="email" name="email"
value="<?= $prof['PROF_EMAIL'] ?? '' ?>"
class="form-control" required>
</div>
<div class="col-md-3">
<label>Specialty</label>
<input type="text" name="specialty"
value="<?= $prof['PROF_SPECIALTY'] ?? '' ?>"
class="form-control" maxlength="100" required>
</div>
<div class="col-md-3">
<label>Rank</label>
<select name="rank" class="form-select" required>
<option value="Assistant" <?= ($prof['PROF_RANK'] ?? '') === 'Assistant' ? 'selected' : '' ?>>Assistant</option>
<option value="Associate" <?= ($prof['PROF_RANK'] ?? '') === 'Associate' ? 'selected' : '' ?>>Associate</option>
<option value="Full" <?= ($prof['PROF_RANK'] ?? '') === 'Full' ? 'selected' : '' ?>>Full</option>
<option value="Emeritus" <?= ($prof['PROF_RANK'] ?? '') === 'Emeritus' ? 'selected' : '' ?>>Emeritus</option>
</select>
</div>
<div class="col-md-6">
<label>School</label>
<select name="school_code" class="form-select" required>
<?php foreach($schools as $school): ?>
<option value="<?= $school['SCHOOL_CODE'] ?>"
<?= (isset($prof) && $prof['SCHOOL_CODE'] == $school['SCHOOL_CODE']) ? 'selected' : '' ?>>
<?= htmlspecialchars($school['SCHOOL_NAME']) ?>
</option>
<?php endforeach; ?>
</select>
</div>
<div class="col-md-6">
<label>Department</label>
<select name="dept_code" class="form-select" required>
<?php foreach($departments as $dept): ?>
<option value="<?= $dept['DEPT_CODE'] ?>"
<?= (isset($prof) && $prof['DEPT_CODE'] == $dept['DEPT_CODE']) ? 'selected' : '' ?>>
<?= htmlspecialchars($dept['DEPT_NAME']) ?>
</option>
<?php endforeach; ?>
</select>
</div>
<div class="col-md-12 mt-3">
<?php if(isset($_GET['edit'])): ?>
<button type="submit" name="update" class="btn btn-primary">Update</button>
<a href="professors.php" class="btn btn-secondary">Cancel</a>
<?php else: ?>
<button type="submit" name="create" class="btn btn-success">Create</button>
<?php endif; ?>
</div>
</div>
</form>
</div>
</div>
<!-- Professors Table -->
<table class="table table-striped table-hover">
<thead class="table-dark">
<tr>
<th>#</th>
<th>Name</th>
<th>Email</th>
<th>Rank</th>
<th>Specialty</th>
<th>School</th>
<th>Department</th>
<th>Actions</th>
</tr>
</thead>
<tbody>
<?php foreach($professors as $prof): ?>
<tr>
<td><?= $prof['PROF_NUM'] ?></td>
<td><?= htmlspecialchars($prof['PROF_FNAME'] . ' ' . $prof['PROF_LNAME']) ?></td>
<td><?= htmlspecialchars($prof['PROF_EMAIL']) ?></td>
<td><?= htmlspecialchars($prof['PROF_RANK']) ?></td>
<td><?= htmlspecialchars($prof['PROF_SPECIALTY']) ?></td>
<td><?= htmlspecialchars($prof['SCHOOL_NAME']) ?></td>
<td><?= htmlspecialchars($prof['DEPT_NAME']) ?></td>
<td>
<a href="professors.php?edit=<?= $prof['PROF_NUM'] ?>"
class="btn btn-sm btn-warning">Edit</a>
<a href="professors.php?delete=<?= $prof['PROF_NUM'] ?>"
class="btn btn-sm btn-danger"
onclick="return confirm('Delete this professor?')">Delete</a>
</td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
<?php require_once 'footer.php'; ?>
@@ -1,4 +0,0 @@
</div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>
-29
View File
@@ -1,29 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Tiny College Admin</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
<div class="container">
<a class="navbar-brand" href="#">Tiny College</a>
<div class="collapse navbar-collapse">
<ul class="navbar-nav me-auto">
<li class="nav-item"><a class="nav-link" href="../../pages/school_manage/schools.php">Schools</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/building_manage/buildings.php">Buildings</a></li>
<li class="nav-item"><a class="nav-link" style="text-decoration: underline orange 1px; color: white;" href="../../pages/room_manage/rooms.php">Rooms</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/department_manage/departments.php">Departments</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/professor_manage/professors.php">Professors</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/student_manage/students.php">Students</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/class_manage/class.php">Class</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/semester_manage/semester.php">Semester</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/enroll_manage/enroll.php">Enroll</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/course_manage/courses.php">Courses</a></li>
</ul>
</div>
</div>
</nav>
<div class="container mt-4"></div>
-145
View File
@@ -1,145 +0,0 @@
<?php
require_once '../../db/config.php';
// Handle Delete Operation
if(isset($_GET['delete'])){
try {
$id = $_GET['delete'];
$stmt = $pdo->prepare("DELETE FROM room WHERE ROOM_CODE = ?");
$stmt->execute([$id]);
header("Location: rooms.php");
exit();
} catch(PDOException $e) {
die("Delete failed: " . $e->getMessage());
}
}
// Handle Create/Update Operations
if($_SERVER['REQUEST_METHOD'] === 'POST') {
$roomCode = $_POST['room_code'] ?? null;
$roomType = $_POST['room_type'];
$bldgCode = $_POST['bldg_code'];
try {
if(isset($_POST['create'])) {
$stmt = $pdo->prepare("INSERT INTO room (ROOM_TYPE, BLDG_CODE) VALUES (?, ?)");
$stmt->execute([$roomType, $bldgCode]);
} elseif(isset($_POST['update'])) {
$stmt = $pdo->prepare("UPDATE room SET ROOM_TYPE = ?, BLDG_CODE = ? WHERE ROOM_CODE = ?");
$stmt->execute([$roomType, $bldgCode, $roomCode]);
}
header("Location: rooms.php");
exit();
} catch(PDOException $e) {
die("Operation failed: " . $e->getMessage());
}
}
// Fetch data
try {
// Get all rooms with building names
$rooms = $pdo->query("
SELECT r.*, b.BLDG_NAME
FROM room r
JOIN building b ON r.BLDG_CODE = b.BLDG_CODE
ORDER BY r.ROOM_CODE
")->fetchAll();
// Get buildings for dropdown
$buildings = $pdo->query("SELECT * FROM building")->fetchAll();
// Handle edit mode
$room = [];
if(isset($_GET['edit'])) {
$stmt = $pdo->prepare("SELECT * FROM room WHERE ROOM_CODE = ?");
$stmt->execute([$_GET['edit']]);
$room = $stmt->fetch();
if(!$room) {
header("Location: rooms.php");
exit();
}
}
} catch(PDOException $e) {
die("Database error: " . $e->getMessage());
}
require_once 'header.php';
?>
<h2>Room Management</h2>
<!-- Room Form -->
<div class="card mb-4">
<div class="card-body">
<form method="POST">
<?php if(isset($_GET['edit'])): ?>
<input type="hidden" name="room_code" value="<?= $room['ROOM_CODE'] ?>">
<h4>Edit Room</h4>
<?php else: ?>
<h4>Add New Room</h4>
<?php endif; ?>
<div class="row g-3">
<div class="col-md-6">
<label>Room Type</label>
<input type="text" name="room_type"
value="<?= htmlspecialchars($room['ROOM_TYPE'] ?? '') ?>"
class="form-control" required>
</div>
<div class="col-md-6">
<label>Building</label>
<select name="bldg_code" class="form-select" required>
<?php foreach($buildings as $b): ?>
<option value="<?= $b['BLDG_CODE'] ?>"
<?= (isset($room['BLDG_CODE']) && $room['BLDG_CODE'] == $b['BLDG_CODE']) ? 'selected' : '' ?>>
<?= htmlspecialchars($b['BLDG_NAME']) ?>
</option>
<?php endforeach; ?>
</select>
</div>
<div class="col-md-12 mt-3">
<button type="submit" name="<?= isset($_GET['edit']) ? 'update' : 'create' ?>"
class="btn btn-primary">
<?= isset($_GET['edit']) ? 'Update' : 'Create' ?>
</button>
<?php if(isset($_GET['edit'])): ?>
<a href="rooms.php" class="btn btn-secondary">Cancel</a>
<?php endif; ?>
</div>
</div>
</form>
</div>
</div>
<!-- Rooms Table -->
<table class="table table-striped">
<thead class="table-dark">
<tr>
<th>Code</th>
<th>Type</th>
<th>Building</th>
<th>Actions</th>
</tr>
</thead>
<tbody>
<?php foreach($rooms as $r): ?>
<tr>
<td><?= $r['ROOM_CODE'] ?></td>
<td><?= htmlspecialchars($r['ROOM_TYPE']) ?></td>
<td><?= htmlspecialchars($r['BLDG_NAME']) ?></td>
<td>
<a href="rooms.php?edit=<?= $r['ROOM_CODE'] ?>"
class="btn btn-sm btn-warning">Edit</a>
<a href="rooms.php?delete=<?= $r['ROOM_CODE'] ?>"
class="btn btn-sm btn-danger"
onclick="return confirm('Delete this room?')">Delete</a>
</td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
<?php require_once 'footer.php'; ?>
@@ -1,4 +0,0 @@
</div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>
@@ -1,29 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Tiny College Admin</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
<div class="container">
<a class="navbar-brand" href="#">Tiny College</a>
<div class="collapse navbar-collapse">
<ul class="navbar-nav me-auto">
<li class="nav-item"><a class="nav-link" style="text-decoration: underline orange 1px; color: white;" href="../../pages/school_manage/schools.php">Schools</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/building_manage/buildings.php">Buildings</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/room_manage/rooms.php">Rooms</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/department_manage/departments.php">Departments</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/professor_manage/professors.php">Professors</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/student_manage/students.php">Students</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/class_manage/class.php">Class</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/semester_manage/semester.php">Semester</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/enroll_manage/enroll.php">Enroll</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/course_manage/courses.php">Courses</a></li>
</ul>
</div>
</div>
</nav>
<div class="container mt-4"></div>
@@ -1,65 +0,0 @@
<?php
require_once '../../db/config.php';
require_once 'header.php';
// Create
if(isset($_POST['create'])){
$schoolName = $_POST['school_name'];
$stmt = $pdo->prepare("INSERT INTO school (SCHOOL_NAME) VALUES (?)");
$stmt->execute([$schoolName]);
}
// Delete
if(isset($_GET['delete'])){
$id = $_GET['delete'];
$stmt = $pdo->prepare("DELETE FROM school WHERE SCHOOL_CODE = ?");
$stmt->execute([$id]);
}
// Read
$stmt = $pdo->query("SELECT * FROM school");
$schools = $stmt->fetchAll(PDO::FETCH_ASSOC);
?>
<h2>Schools Management</h2>
<!-- Create Form -->
<div class="card mb-4">
<div class="card-body">
<form method="POST">
<div class="row">
<div class="col-md-8">
<input type="text" name="school_name" class="form-control" placeholder="School Name" required>
</div>
<div class="col-md-4">
<button type="submit" name="create" class="btn btn-primary">Add School</button>
</div>
</div>
</form>
</div>
</div>
<!-- Schools Table -->
<table class="table table-striped">
<thead>
<tr>
<th>Code</th>
<th>School Name</th>
<th>Actions</th>
</tr>
</thead>
<tbody>
<?php foreach($schools as $school): ?>
<tr>
<td><?= $school['SCHOOL_CODE'] ?></td>
<td><?= htmlspecialchars($school['SCHOOL_NAME']) ?></td>
<td>
<a href="edit_school.php?id=<?= $school['SCHOOL_CODE'] ?>" class="btn btn-sm btn-warning">Edit</a>
<a href="?delete=<?= $school['SCHOOL_CODE'] ?>" class="btn btn-sm btn-danger" onclick="return confirm('Are you sure?')">Delete</a>
</td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
<?php require_once 'footer.php'; ?>
@@ -1,4 +0,0 @@
</div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>
@@ -1,29 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Tiny College Admin</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
<div class="container">
<a class="navbar-brand" href="#">Tiny College</a>
<div class="collapse navbar-collapse">
<ul class="navbar-nav me-auto">
<li class="nav-item"><a class="nav-link" href="../../pages/school_manage/schools.php">Schools</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/building_manage/buildings.php">Buildings</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/room_manage/rooms.php">Rooms</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/department_manage/departments.php">Departments</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/professor_manage/professors.php">Professors</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/student_manage/students.php">Students</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/class_manage/class.php">Class</a></li>
<li class="nav-item"><a class="nav-link" style="text-decoration: underline orange 1px; color: white;" href="../../pages/semester_manage/semester.php">Semester</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/enroll_manage/enroll.php">Enroll</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/course_manage/courses.php">Courses</a></li>
</ul>
</div>
</div>
</nav>
<div class="container mt-4"></div>
@@ -1,177 +0,0 @@
<?php
require_once '../../db/config.php';
// Handle Delete Operation
if(isset($_GET['delete'])){
try {
$id = $_GET['delete'];
$stmt = $pdo->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';
?>
<h2>Semester Management</h2>
<!-- Semester Form -->
<div class="card mb-4">
<div class="card-body">
<form method="POST">
<?php if(isset($_GET['edit'])): ?>
<input type="hidden" name="semester_code" value="<?= $semester['SEMESTER_CODE'] ?>">
<h4>Edit Semester</h4>
<?php else: ?>
<h4>Add New Semester</h4>
<?php endif; ?>
<div class="row g-3">
<div class="col-md-3">
<label>Year</label>
<input type="number" name="year"
value="<?= htmlspecialchars($semester['SEMESTER_YEAR'] ?? date('Y')) ?>"
class="form-control" min="2000" max="2100" required>
</div>
<div class="col-md-3">
<label>Term</label>
<select name="term" class="form-select" required>
<option value="1" <?= ($semester['SEMESTER_TERM'] ?? '') == 1 ? 'selected' : '' ?>>Spring</option>
<option value="2" <?= ($semester['SEMESTER_TERM'] ?? '') == 2 ? 'selected' : '' ?>>Summer</option>
<option value="3" <?= ($semester['SEMESTER_TERM'] ?? '') == 3 ? 'selected' : '' ?>>Fall</option>
</select>
</div>
<div class="col-md-3">
<label>Start Date</label>
<input type="date" name="start_date"
value="<?= htmlspecialchars($semester['start_date'] ?? '') ?>"
class="form-control" required>
</div>
<div class="col-md-3">
<label>End Date</label>
<input type="date" name="end_date"
value="<?= htmlspecialchars($semester['end_date'] ?? '') ?>"
class="form-control" required>
</div>
<div class="col-md-12 mt-3">
<button type="submit" name="<?= isset($_GET['edit']) ? 'update' : 'create' ?>"
class="btn btn-primary">
<?= isset($_GET['edit']) ? 'Update' : 'Create' ?>
</button>
<?php if(isset($_GET['edit'])): ?>
<a href="semester.php" class="btn btn-secondary">Cancel</a>
<?php endif; ?>
</div>
</div>
</form>
</div>
</div>
<!-- Semesters Table -->
<table class="table table-striped">
<thead class="table-dark">
<tr>
<th>Code</th>
<th>Year</th>
<th>Term</th>
<th>Start Date</th>
<th>End Date</th>
<th>Actions</th>
</tr>
</thead>
<tbody>
<?php foreach($semesters as $s): ?>
<tr>
<td><?= $s['SEMESTER_CODE'] ?></td>
<td><?= $s['SEMESTER_YEAR'] ?></td>
<td><?= match($s['SEMESTER_TERM']) {1 => 'Spring', 2 => 'Summer', 3 => 'Fall'} ?></td>
<td><?= date('M d, Y', strtotime($s['start_date'])) ?></td>
<td><?= date('M d, Y', strtotime($s['end_date'])) ?></td>
<td>
<a href="semester.php?edit=<?= $s['SEMESTER_CODE'] ?>"
class="btn btn-sm btn-warning">Edit</a>
<a href="semester.php?delete=<?= $s['SEMESTER_CODE'] ?>"
class="btn btn-sm btn-danger"
onclick="return confirm('Delete this semester?')">Delete</a>
</td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
<?php require_once 'footer.php'; ?>
@@ -1,4 +0,0 @@
</div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>
@@ -1,29 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Tiny College Admin</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
<div class="container">
<a class="navbar-brand" href="#">Tiny College</a>
<div class="collapse navbar-collapse">
<ul class="navbar-nav me-auto">
<li class="nav-item"><a class="nav-link" href="../../pages/school_manage/schools.php">Schools</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/building_manage/buildings.php">Buildings</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/room_manage/rooms.php">Rooms</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/department_manage/departments.php">Departments</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/professor_manage/professors.php">Professors</a></li>
<li class="nav-item"><a class="nav-link" style="text-decoration: underline orange 1px; color: white;" href="../../pages/student_manage/students.php">Students</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/class_manage/class.php">Class</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/semester_manage/semester.php">Semester</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/enroll_manage/enroll.php">Enroll</a></li>
<li class="nav-item"><a class="nav-link" href="../../pages/course_manage/courses.php">Courses</a></li>
</ul>
</div>
</div>
</nav>
<div class="container mt-4"></div>
@@ -1,184 +0,0 @@
<?php
require_once '../../db/config.php';
// Handle Delete Operation
if(isset($_GET['delete'])){
try {
$id = $_GET['delete'];
$stmt = $pdo->prepare("DELETE FROM student WHERE STU_NUM = ?");
$stmt->execute([$id]);
header("Location: students.php");
exit();
} catch(PDOException $e) {
die("Delete failed: " . $e->getMessage());
}
}
// Handle Create/Update Operations
if($_SERVER['REQUEST_METHOD'] === 'POST') {
$stuNum = $_POST['stu_num'] ?? null;
$lname = $_POST['lname'];
$fname = $_POST['fname'];
$initial = $_POST['initial'];
$email = $_POST['email'];
$deptCode = isset($_POST['dept_code']) && $_POST['dept_code'] !== '' ? (int)$_POST['dept_code'] : null;
$profNum = isset($_POST['prof_num']) && $_POST['prof_num'] !== '' ? (int)$_POST['prof_num'] : null;
try {
if(isset($_POST['create'])) {
$stmt = $pdo->prepare("INSERT INTO student
(STU_LNAME, STU_FNAME, STU_INITIAL, STU_EMAIL, DEPT_CODE, PROF_NUM)
VALUES (?, ?, ?, ?, ?, ?)");
$stmt->execute([$lname, $fname, $initial, $email, $deptCode, $profNum]);
} elseif(isset($_POST['update'])) {
$stmt = $pdo->prepare("UPDATE student SET
STU_LNAME = ?,
STU_FNAME = ?,
STU_INITIAL = ?,
STU_EMAIL = ?,
DEPT_CODE = ?,
PROF_NUM = ?
WHERE STU_NUM = ?");
$stmt->execute([$lname, $fname, $initial, $email, $deptCode, $profNum, $stuNum]);
}
header("Location: students.php");
exit();
} catch(PDOException $e) {
die("Operation failed: " . $e->getMessage());
}
}
// Fetch data for display
$students = $pdo->query("
SELECT s.*, d.DEPT_NAME,
CONCAT(p.PROF_FNAME, ' ', p.PROF_LNAME) AS PROF_NAME
FROM student s
LEFT JOIN department d ON s.DEPT_CODE = d.DEPT_CODE
LEFT JOIN professor p ON s.PROF_NUM = p.PROF_NUM
ORDER BY s.STU_LNAME, s.STU_FNAME
")->fetchAll(PDO::FETCH_ASSOC);
$departments = $pdo->query("SELECT * FROM department")->fetchAll();
$professors = $pdo->query("SELECT * FROM professor")->fetchAll();
require_once 'header.php';
?>
<h2>Students Management</h2>
<!-- Create/Edit Form -->
<div class="card mb-4">
<div class="card-body">
<form method="POST">
<?php if(isset($_GET['edit'])):
$editStmt = $pdo->prepare("SELECT * FROM student WHERE STU_NUM = ?");
$editStmt->execute([$_GET['edit']]);
$student = $editStmt->fetch();
?>
<input type="hidden" name="stu_num" value="<?= $student['STU_NUM'] ?>">
<h4>Edit Student</h4>
<?php else: ?>
<h4>Add New Student</h4>
<?php endif; ?>
<div class="row g-3">
<div class="col-md-4">
<label>First Name</label>
<input type="text" name="fname"
value="<?= $student['STU_FNAME'] ?? '' ?>"
class="form-control" required>
</div>
<div class="col-md-4">
<label>Last Name</label>
<input type="text" name="lname"
value="<?= $student['STU_LNAME'] ?? '' ?>"
class="form-control" required>
</div>
<div class="col-md-2">
<label>Initial</label>
<input type="text" name="initial"
value="<?= $student['STU_INITIAL'] ?? '' ?>"
class="form-control" maxlength="4">
</div>
<div class="col-md-6">
<label>Email</label>
<input type="email" name="email"
value="<?= $student['STU_EMAIL'] ?? '' ?>"
class="form-control" required>
</div>
<div class="col-md-6">
<label>Department</label>
<select name="dept_code" class="form-select">
<option value="">Select Department</option>
<?php foreach($departments as $dept): ?>
<option value="<?= $dept['DEPT_CODE'] ?>"
<?= (isset($student) && $student['DEPT_CODE'] == $dept['DEPT_CODE']) ? 'selected' : '' ?>>
<?= htmlspecialchars($dept['DEPT_NAME']) ?>
</option>
<?php endforeach; ?>
</select>
</div>
<div class="col-md-6">
<label>Advisor</label>
<select name="prof_num" class="form-select">
<option value="">Select Advisor</option>
<?php foreach($professors as $prof): ?>
<option value="<?= $prof['PROF_NUM'] ?>"
<?= (isset($student) && $student['PROF_NUM'] == $prof['PROF_NUM']) ? 'selected' : '' ?>>
<?= htmlspecialchars($prof['PROF_FNAME'] . ' ' . $prof['PROF_LNAME']) ?>
</option>
<?php endforeach; ?>
</select>
</div>
<div class="col-md-12 mt-3">
<?php if(isset($_GET['edit'])): ?>
<button type="submit" name="update" class="btn btn-primary">Update</button>
<a href="students.php" class="btn btn-secondary">Cancel</a>
<?php else: ?>
<button type="submit" name="create" class="btn btn-success">Create</button>
<?php endif; ?>
</div>
</div>
</form>
</div>
</div>
<!-- Students Table -->
<table class="table table-striped table-hover">
<thead class="table-dark">
<tr>
<th>#</th>
<th>Student Name</th>
<th>Email</th>
<th>Department</th>
<th>Advisor</th>
<th>Actions</th>
</tr>
</thead>
<tbody>
<?php foreach($students as $stu): ?>
<tr>
<td><?= $stu['STU_NUM'] ?></td>
<td><?= htmlspecialchars($stu['STU_FNAME'] . ' ' . $stu['STU_LNAME']) ?></td>
<td><?= htmlspecialchars($stu['STU_EMAIL']) ?></td>
<td><?= $stu['DEPT_NAME'] ?? 'N/A' ?></td>
<td><?= $stu['PROF_NAME'] ?? 'N/A' ?></td>
<td>
<a href="students.php?edit=<?= $stu['STU_NUM'] ?>"
class="btn btn-sm btn-warning">Edit</a>
<a href="students.php?delete=<?= $stu['STU_NUM'] ?>"
class="btn btn-sm btn-danger"
onclick="return confirm('Delete this student?')">Delete</a>
</td>
</tr>
<?php endforeach; ?>
</tbody>
</table>
<?php require_once 'footer.php'; ?>