Delete tiny-college directory
This commit is contained in:
1 parent
9617dcf8db
commit
80959e6551
34 files changed
-2094
No files matched your search
@@ -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'; ?>
|
||||
@@ -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'; ?>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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>
|
||||
@@ -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'; ?>
|
||||
Reference in new issue
Block a user