prepare("SELECT COUNT(*) FROM learners WHERE school_id = ?"); $total_learners_stmt->execute([$school_id]); $total_learners = $total_learners_stmt->fetchColumn(); // Attendance for today $today = date('Y-m-d'); $present_today = $db->prepare("SELECT COUNT(*) FROM attendance WHERE date = ? AND status = 'present' AND school_id = ?"); $present_today->execute([$today, $school_id]); $present_today_count = $present_today->fetchColumn(); $presence_rate = $total_learners > 0 ? round(($present_today_count / $total_learners) * 100) : 0; // Analytics: Attendance by Grade $grade_stats = $db->prepare(" SELECT l.grade, COUNT(l.id) as total, SUM(CASE WHEN a.status = 'present' THEN 1 ELSE 0 END) as present FROM learners l LEFT JOIN attendance a ON l.id = a.learner_id AND a.date = :today WHERE l.school_id = :school_id GROUP BY l.grade ORDER BY l.grade "); $grade_stats->execute(['today' => $today, 'school_id' => $school_id]); $grade_stats = $grade_stats->fetchAll(); include 'includes/header.php'; ?>
Overview of operations for School ID: = $school_id ?>
Total Learners
Today's Presence
Total Staff
Pending Tasks
No attendance data recorded today.
0 ? round(($stat['present'] / $stat['total']) * 100) : 0; $bar_color = $rate > 80 ? 'bg-success' : ($rate > 50 ? 'bg-warning' : 'bg-danger'); ?>