connect_error) { die("Connection failed: " . $conn->connect_error); } /* SLOWING LEARNERS: - Last practice between 3 and 5 days ago */ $sql = " SELECT pa.roll_no, MAX(pa.last_attempt_at) AS last_practice_date, DATEDIFF(NOW(), MAX(pa.last_attempt_at)) AS days_gap FROM practice_attempts pa GROUP BY pa.roll_no HAVING days_gap BETWEEN 3 AND 5 ORDER BY days_gap DESC "; $result = $conn->query($sql); ?> Slowing Learners

🟡 Slowing Learners (3–5 Days Gap)

These students are active but learning momentum is slowing.
num_rows > 0) { while ($row = $result->fetch_assoc()) { echo ""; } } else { echo ""; } ?>
Roll No Last Practice Date Days Since Last Practice
{$row['roll_no']} {$row['last_practice_date']} {$row['days_gap']} day(s)
No slowing learners 🎉
close(); ?>