prepare("SELECT * FROM schools WHERE id = ?"); $stmt->execute([$school_id]); $school = $stmt->fetch(); $report_type = $_GET['type'] ?? null; $learner_id = $_GET['learner_id'] ?? null; $assessment_id = $_GET['assessment_id'] ?? null; $report_data = null; $learner_info = null; $assessment_info = null; if ($report_type === 'learner' && $learner_id) { // Fetch learner transcript $stmt = $db->prepare("SELECT * FROM learners WHERE id = ? AND school_id = ?"); $stmt->execute([$learner_id, $school_id]); $learner_info = $stmt->fetch(); if ($learner_info) { $stmt = $db->prepare(" SELECT a.name, a.type, a.total_marks, m.marks_obtained, a.created_at FROM marks m JOIN assessments a ON m.assessment_id = a.id WHERE m.learner_id = ? ORDER BY a.created_at DESC "); $stmt->execute([$learner_id]); $report_data = $stmt->fetchAll(); } } elseif ($report_type === 'class' && $assessment_id) { // Fetch class report for an assessment $stmt = $db->prepare("SELECT * FROM assessments WHERE id = ? AND school_id = ?"); $stmt->execute([$assessment_id, $school_id]); $assessment_info = $stmt->fetch(); if ($assessment_info) { $stmt = $db->prepare(" SELECT l.full_name, l.student_id, m.marks_obtained FROM learners l LEFT JOIN marks m ON l.id = m.learner_id AND m.assessment_id = ? WHERE l.school_id = ? AND l.grade = ? ORDER BY l.full_name ASC "); $stmt->execute([$assessment_id, $school_id, $assessment_info['grade']]); $report_data = $stmt->fetchAll(); } } // Fetch lists for selection $stmt = $db->prepare("SELECT id, full_name, grade, student_id FROM learners WHERE school_id = ? ORDER BY grade, full_name"); $stmt->execute([$school_id]); $all_learners = $stmt->fetchAll(); $stmt = $db->prepare("SELECT id, name, grade, type FROM assessments WHERE school_id = ? ORDER BY created_at DESC"); $stmt->execute([$school_id]); $all_assessments = $stmt->fetchAll(); include 'includes/header.php'; ?>

Reporting Center

Generate academic transcripts and class performance reports

Learner Transcript

Academic history for a specific student

Class Performance

Full class results for a specific assessment

Generated on:

ACADEMIC TRANSCRIPT

Name:

Student ID:

Grade:

Status: Active

0): ?>
Date Assessment Type Score Percentage
/ %
Average Performance: %

CLASS PERFORMANCE REPORT

Grade | | Max Marks:

0): ?>
Student ID Learner Name Marks Obtained Percentage Status
N/A' ?> '.round($perc, 1).'%' : '-' ?> = 50 ? 'Pass' : 'Fail' ?> = 50 ? 'Pass' : 'Fail' ?> Absent/Pending
Class Average: %
Teacher Signature
Principal Signature