HEX
Server: Apache/2.4.58 (Ubuntu)
System: Linux host 6.8.0-107-generic #107-Ubuntu SMP PREEMPT_DYNAMIC Fri Mar 13 19:51:50 UTC 2026 x86_64
User: w230 (1248)
PHP: 8.3.6
Disabled: NONE
Upload Files
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();