34 lines
779 B
PHP
34 lines
779 B
PHP
<?php
|
|
declare(strict_types=1);
|
|
@date_default_timezone_set('UTC');
|
|
|
|
require_once __DIR__ . '/../includes/db_init.php';
|
|
|
|
$db = db();
|
|
ensure_schema($db);
|
|
seed_classes($db);
|
|
|
|
header('Content-Type: application/json; charset=utf-8');
|
|
|
|
$limit = isset($_GET['limit']) ? (int)$_GET['limit'] : 50;
|
|
if ($limit <= 0 || $limit > 200) {
|
|
$limit = 50;
|
|
}
|
|
|
|
$stmt = $db->prepare("
|
|
SELECT s.id, s.student_code, s.full_name, s.status, s.gender,
|
|
c.name AS class_name, c.grade_level
|
|
FROM students s
|
|
LEFT JOIN classes c ON c.id = s.class_id
|
|
ORDER BY s.created_at DESC
|
|
LIMIT :limit
|
|
");
|
|
$stmt->bindValue(':limit', $limit, PDO::PARAM_INT);
|
|
$stmt->execute();
|
|
$students = $stmt->fetchAll();
|
|
|
|
echo json_encode([
|
|
'data' => $students,
|
|
'count' => count($students),
|
|
]);
|