🖨️ พิมพ์ / บันทึกเป็น PDF 📊 สรุปผลการเรียนแยกตามโครงสร้าง 📋 ผลการประเมินเทียบโอน ⬅ กลับ

ใบควบคุมผลการเรียน

มหาวิทยาลัยตาปี

รหัสนักศึกษา:
ชื่อ-นามสกุล: ()
สาขาวิชา: -
คณะ:
สถาบันที่จบ:
ปีการศึกษา:
0 ? round(($total_completed / $total_curriculum_credits) * 100) : 0; ?>
/ หน่วยกิต (%)

หน่วยกิตเทียบโอน

หน่วยกิตเรียนผ่านแล้ว

หน่วยกิตคงเหลือ
สรุปรายวิชาที่เรียนผ่านแล้วทั้งหมด (แยกตามโครงสร้างหลักสูตร)
รวมหน่วยกิตที่เรียนผ่านแล้วทั้งหมด หน่วยกิต
✓ ครบตามหลักสูตรแล้ว ( / หน่วยกิต) หน่วยกิตคงเหลือที่ต้องเรียน: หน่วยกิต ( / หน่วยกิต)
'; echo '
' . htmlspecialchars($g['name_th']); if ($g['min_credits'] > 0) echo ' (ไม่น้อยกว่า ' . $g['min_credits'] . ' หน่วยกิต)'; echo '
'; if ($has_courses) { echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; foreach ($node['courses'] as $course) { $row_class = ''; $status_text = 'ยังไม่เรียน'; $sem = $yr = '-'; if (isset($course['_completed'])) { $row_class = $course['_completed']['source_type'] == 'transfer' ? 'transfer' : 'completed'; $status_text = $course['_completed']['source_type'] == 'transfer' ? 'เทียบโอน' : 'เรียนแล้ว'; $sem = $course['_completed']['semester'] ? 'ภาค ' . htmlspecialchars($course['_completed']['semester']) : '-'; $yr = htmlspecialchars($course['_completed']['academic_year'] ?: '-'); } echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; } echo '
รหัสวิชาชื่อวิชาหน่วยกิต(ท-ป-อ)ภาคเรียนปีการศึกษาสถานะ
' . htmlspecialchars($course['code']) . '' . htmlspecialchars($course['name_th']) . '' . number_format($course['credits'], 1) . '(' . $course['lecture_hours'] . '-' . $course['practice_hours'] . '-' . $course['self_study_hours'] . ')' . $sem . '' . $yr . '' . $status_text . '
'; } if ($has_children) { renderPrintTree($node['children'], $is_dbc, $level + 1); } echo ''; } } function renderGroupedSummary($nodes, $level = 0) { foreach ($nodes as $node) { $g = $node['group']; $has_completed = $node['completed_credits'] > 0; $has_courses = !empty($node['courses']); $has_children = !empty($node['children']); if (!$has_completed && !$has_children) { continue; } $style = $level == 0 ? 'section-title' : ($level == 1 ? 'subsection-title' : 'subsubsection-title'); echo '
'; echo '
' . htmlspecialchars($g['name_th']); if ($g['min_credits'] > 0) echo ' (ไม่น้อยกว่า ' . $g['min_credits'] . ' หน่วยกิต)'; if ($level == 0 && $has_completed) { echo ' — เรียนผ่านแล้ว ' . $node['completed_credits'] . ' หน่วยกิต'; } echo '
'; if ($has_courses) { $group_total = 0; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; foreach ($node['courses'] as $course) { if (!isset($course['_completed'])) continue; $sc = $course['_completed']; $group_total += $sc['credits']; $type = htmlspecialchars($sc['course_type'] ?: ($sc['source_type'] == 'transfer' ? 'เทียบโอน' : 'เรียน')); $sem = $sc['semester'] ? 'ภาค ' . htmlspecialchars($sc['semester']) : '-'; $yr = htmlspecialchars($sc['academic_year'] ?: '-'); $row_class = $sc['source_type'] == 'transfer' ? 'transfer' : 'completed'; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; echo ''; } echo ''; echo ''; echo ''; echo ''; echo ''; echo '
รหัสวิชาชื่อวิชาหน่วยกิตเกรดภาคเรียนปีการศึกษาประเภท
' . htmlspecialchars($sc['course_code']) . '' . htmlspecialchars($sc['course_name_th']) . '' . number_format($sc['credits'], 1) . '' . htmlspecialchars($sc['grade'] ?: '-') . '' . $sem . '' . $yr . '' . $type . '
รวมหน่วยกิต' . number_format($group_total, 1) . '
'; } if ($has_children) { renderGroupedSummary($node['children'], $level + 1); } echo '
'; } }