Your IP : 216.73.216.93


Current Path : /home/users/unlimited/www/nigeria.codeskitter.site/student/
Upload File :
Current File : /home/users/unlimited/www/nigeria.codeskitter.site/student/my-courses.php

<?php
include '../includes/config.php';

if(!isset($_SESSION['user_id']) || $_SESSION['user_role'] != 'student') {
    header("Location: ../login.php");
    exit();
}

$user_id = $_SESSION['user_id'];

// Get all enrolled courses
$enrolled_courses_sql = "SELECT c.*, e.progress, e.enrolled_at, 
                         COUNT(DISTINCT cm.id) as total_modules,
                         COUNT(DISTINCT CASE WHEN sp.is_completed = 1 THEN sp.module_id END) as completed_modules
                         FROM enrollments e 
                         JOIN courses c ON e.course_id = c.id 
                         LEFT JOIN course_modules cm ON c.id = cm.course_id
                         LEFT JOIN student_progress sp ON cm.id = sp.module_id AND sp.user_id = e.user_id
                         WHERE e.user_id = ? 
                         GROUP BY c.id 
                         ORDER BY e.enrolled_at DESC";
$stmt = $conn->prepare($enrolled_courses_sql);
$stmt->bind_param("i", $user_id);
$stmt->execute();
$enrolled_courses = $stmt->get_result();
?>

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>My Courses - Gex Neural Academy</title>
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet">
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.7.2/font/bootstrap-icons.css">
    <link rel="stylesheet" href="../assets/css/style.css">
</head>
<body>
    <?php include 'navigation.php'; ?>

    <div class="container-fluid py-4">
        <div class="row">
            <div class="col-12">
                <div class="d-flex justify-content-between align-items-center mb-4">
                    <h1>My Courses</h1>
                    <a href="../courses.php" class="btn btn-primary">
                        <i class="bi bi-plus-circle"></i> Browse More Courses
                    </a>
                </div>

                <div class="row">
                    <?php if($enrolled_courses->num_rows > 0): ?>
                        <?php while($course = $enrolled_courses->fetch_assoc()): 
                            $completion_rate = $course['total_modules'] > 0 ? 
                                round(($course['completed_modules'] / $course['total_modules']) * 100) : 0;
                        ?>
                        <div class="col-lg-4 col-md-6 mb-4">
                            <div class="card course-card h-100">
                                <img src="<?php echo $course['image'] ? '../' . $course['image'] : '../assets/images/course-placeholder.jpg'; ?>" 
                                     class="card-img-top" alt="<?php echo $course['title']; ?>" style="height: 200px; object-fit: cover;">
                                <div class="card-body">
                                    <h5 class="card-title"><?php echo $course['title']; ?></h5>
                                    <p class="card-text"><?php echo substr($course['description'], 0, 100); ?>...</p>
                                    
                                    <div class="course-meta mb-3">
                                        <div class="d-flex justify-content-between text-muted small">
                                            <span><i class="bi bi-play-circle"></i> <?php echo $course['total_modules']; ?> modules</span>
                                            <span><i class="bi bi-check-circle"></i> <?php echo $course['completed_modules']; ?> completed</span>
                                        </div>
                                    </div>

                                    <div class="progress mb-3" style="height: 8px;">
                                        <div class="progress-bar bg-success" style="width: <?php echo $completion_rate; ?>%"></div>
                                    </div>
                                    <div class="d-flex justify-content-between align-items-center">
                                        <small class="text-muted"><?php echo $completion_rate; ?>% Complete</small>
                                        <small class="text-muted">Enrolled: <?php echo date('M j, Y', strtotime($course['enrolled_at'])); ?></small>
                                    </div>
                                </div>
                                <div class="card-footer">
                                    <div class="d-grid gap-2">
                                        <a href="course-player.php?course_id=<?php echo $course['id']; ?>" class="btn btn-primary">
                                            <?php echo $completion_rate > 0 ? 'Continue Learning' : 'Start Learning'; ?>
                                        </a>
                                        <a href="course-progress.php?course_id=<?php echo $course['id']; ?>" class="btn btn-outline-secondary btn-sm">
                                            View Progress
                                        </a>
                                    </div>
                                </div>
                            </div>
                        </div>
                        <?php endwhile; ?>
                    <?php else: ?>
                        <div class="col-12 text-center py-5">
                            <i class="bi bi-book fs-1 text-muted mb-3"></i>
                            <h3 class="text-muted">No Courses Enrolled</h3>
                            <p class="text-muted mb-4">You haven't enrolled in any courses yet.</p>
                            <a href="../courses.php" class="btn btn-primary btn-lg">
                                <i class="bi bi-plus-circle"></i> Browse Courses
                            </a>
                        </div>
                    <?php endif; ?>
                </div>
            </div>
        </div>
    </div>

    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>