prepare("INSERT INTO students (student_code, full_name, gender, class_id, guardian_name, status, notes) VALUES (:code, :name, :gender, :class_id, :guardian, :status, :notes)"); $stmt->execute([ ':code' => $studentCode, ':name' => $fullName, ':gender' => $gender !== '' ? $gender : null, ':class_id' => $classId, ':guardian' => $guardianName !== '' ? $guardianName : null, ':status' => $status, ':notes' => $notes !== '' ? $notes : null, ]); header('Location: students.php?role=' . urlencode($role) . '&success=1'); exit; } catch (PDOException $e) { if ((int)$e->getCode() === 23000) { $errors[] = 'Kode siswa sudah digunakan. Gunakan kode lain.'; } else { $errors[] = 'Gagal menyimpan data siswa.'; } } } } $classes = $db->query("SELECT id, name, grade_level FROM classes ORDER BY grade_level, name")->fetchAll(); $students = $db->query(" SELECT s.id, s.student_code, s.full_name, s.status, s.created_at, 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 50 ")->fetchAll(); $projectDescription = $_SERVER['PROJECT_DESCRIPTION'] ?? ''; $projectImageUrl = $_SERVER['PROJECT_IMAGE_URL'] ?? ''; $projectName = $_SERVER['PROJECT_NAME'] ?? 'School Management System'; ?> <?= htmlspecialchars($projectName) ?> — Data Siswa
Registrasi Siswa Baru
Daftar Siswa Terbaru
Belum ada siswa yang terdaftar. Tambahkan data pertama di form.
Kode Nama Kelas Status
Detail