You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
YOLO/job_applications.php

127 lines
5.8 KiB

<?php
session_start();
// Check if the user is logged in
if (!isset($_SESSION['email'])) {
header("Location: login.php");
exit();
}
include 'connect.php';
// Check if the logged-in user is a job seeker
$is_job_seeker = ($_SESSION['user_type'] === 'Job seeker');
if (!$is_job_seeker) {
echo "Access denied. Only job seekers can view applications.";
exit();
}
// Get all applications for the current seeker
$seeker_id = $_SESSION['seeker_id'];
$sql = "SELECT a.*, j.job_title, j.location, j.salary, j.posted_date,j.job_type,j.skills_level,j.salary_type
FROM applications a
JOIN job_postings j ON a.job_id = j.job_id
WHERE a.seeker_id = ?";
$stmt = $conn->prepare($sql);
$stmt->bind_param("i", $seeker_id);
$stmt->execute();
$result = $stmt->get_result();
?>
<!DOCTYPE html>
<html lang="en" data-theme="light">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>My Job Applications</title>
<link href="https://cdn.jsdelivr.net/npm/daisyui@4.7.2/dist/full.min.css" rel="stylesheet" type="text/css" />
<script src="https://cdn.tailwindcss.com"></script>
</head>
<body class="min-h-screen flex flex-col bg-base-200">
<?php include 'navbar.php';?>
<main class="flex-grow container mx-auto px-4 py-8">
<!-- Breadcrumb -->
<div class="text-sm breadcrumbs mb-6">
<ul>
<li><a href="index.php" class="text-primary hover:text-primary-focus">Home</a></li>
<li class="text-base-content">My Job Applications</li>
</ul>
</div>
<div class="card bg-base-100 shadow-xl">
<div class="card-body">
<h1 class="card-title text-3xl mb-6">My Job Applications</h1>
<?php if ($result->num_rows > 0): ?>
<div class="overflow-x-auto">
<table class="table table-zebra w-full">
<thead>
<tr>
<th class="bg-base-200">Job Title</th>
<th class="bg-base-200">Location</th>
<th class="bg-base-200">Salary</th>
<th class="bg-base-200">Salary Type</th>
<th class="bg-base-200">Job type</th>
<th class="bg-base-200">Skill Level</th>
<th class="bg-base-200">Application Date</th>
<th class="bg-base-200">Status</th>
</tr>
</thead>
<tbody>
<?php while ($application = $result->fetch_assoc()): ?>
<tr class="hover">
<td>
<div class="font-medium">
<?= htmlspecialchars($application['job_title']) ?>
</div>
</td>
<td>
<?= htmlspecialchars($application['location']) ?>
</td>
<td>
<?= htmlspecialchars($application['salary']) ?>
</td>
<td>
<?= htmlspecialchars($application['salary_type']) ?>
</td>
<td>
<?= htmlspecialchars($application['job_type']) ?>
</td>
<td>
<?= htmlspecialchars($application['skills_level']) ?>
</td>
<td>
<?= date('F j, Y', strtotime($application['application_date'])) ?>
</td>
<td>
<?php
$statusClass = match($application['status']) {
'Pending' => 'badge badge-warning',
'Accepted' => 'badge badge-success',
default => 'badge badge-error'
};
?>
<span class="<?= $statusClass ?>">
<?= htmlspecialchars($application['status']) ?>
</span>
</td>
</tr>
<?php endwhile; ?>
</tbody>
</table>
</div>
<?php else: ?>
<div class="alert alert-info">
<svg xmlns="http://www.w3.org/2000/svg" fill="none" viewBox="0 0 24 24" class="stroke-current shrink-0 w-6 h-6"><path stroke-linecap="round" stroke-linejoin="round" stroke-width="2" d="M13 16h-1v-4h-1m1-4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"></path></svg>
<span>You haven't applied to any jobs yet.</span>
</div>
<?php endif; ?>
</div>
</div>
</main>
<?php include 'footer.php';?>
</body>
</html>