File: /var/www/w230/html/behavior/export_csv.php
<?php
session_start();
$user_class=$_SESSION['user_class'];
if (!isset($_SESSION['user_id'])) {
header("Location: index.php");
exit();
}
include 'db.php';
// ตั้งชื่อไฟล์ CSV
$filename = "behavior_report_" . date("Ymd_His") . ".csv";
// ส่ง header สำหรับดาวน์โหลด
header('Content-Type: text/csv; charset=utf-8');
header('Content-Disposition: attachment; filename=' . $filename);
// เปิด output stream
$output = fopen('php://output', 'w');
fputs($output, "\xEF\xBB\xBF"); // เข้ารหัส UTF-8 BOM สำหรับภาษาไทย
// เขียนหัวตาราง
fputcsv($output, ['เลขที่','ชื่อนักเรียน', 'คะแนนรวม (จาก 100)']);
// ดึงข้อมูลนักเรียนและคะแนนรวม
$sql = "SELECT s.id, s.fullname, 100 + IFNULL(SUM(b.points), 0) AS total_points
FROM students s
LEFT JOIN behavior b ON s.id = b.student_id
WHERE s.class='$user_class'
GROUP BY s.id
ORDER BY s.id ASC";
$result = $conn->query($sql);
// เขียนข้อมูล
while ($row = $result->fetch_assoc()) {
fputcsv($output, [$row['id'],$row['fullname'], $row['total_points']]);
}
fclose($output);
exit();