PDO::ERRMODE_EXCEPTION, PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC ] ); } catch (PDOException $e) { die("DB connection failed"); } $stmt = $pdo->prepare(" SELECT lp.roll_no, lp.student_name, lm.momentum_state, lm.momentum_score FROM learning_profiles lp LEFT JOIN learning_momentum lm ON lp.roll_no = lm.roll_no WHERE lp.class = :class ORDER BY lp.roll_no ASC "); $stmt->execute([':class' => $class]); $students = $stmt->fetchAll(); $html = "

RS Learning Lab – Class Momentum Report

Class: {$class}

"; foreach ($students as $s) { $html .= " "; } $html .= "
Roll No Student Name Momentum State Momentum Score
{$s['roll_no']} {$s['student_name']} ".($s['momentum_state'] ?? 'Building')." ".($s['momentum_score'] ?? 50)."
"; $tmp = __DIR__ . "/teacher_report.html"; $pdf = __DIR__ . "/Class_{$class}_Momentum_Report.pdf"; file_put_contents($tmp, $html); shell_exec("wkhtmltopdf \"$tmp\" \"$pdf\""); header("Content-Type: application/pdf"); header("Content-Disposition: inline; filename=Class_Momentum_Report.pdf"); readfile($pdf); exit;