alert('กรุณาเข้าสู่ระบบ'); window.location='../login.php';"; exit; } // ตรวจสอบ person_id $person_id = isset($_GET['person_id']) ? intval($_GET['person_id']) : 0; if ($person_id <= 0) { echo ""; exit; } // ตรวจสอบว่าเป็นการแก้ไขหรือเพิ่มใหม่ $isEdit = isset($_GET['mode']) && $_GET['mode'] == 'edit' && isset($_GET['service_id']); $isCopy = isset($_GET['mode']) && $_GET['mode'] == 'copy' && isset($_GET['service_id']); $service_id = $isEdit ? intval($_GET['service_id']) : 0; // ดึงข้อมูลบุคคล $personData = array(); try { $stmt = $pdo->prepare("SELECT * FROM `individual_counseling` WHERE id = ? AND username = ? AND schoolID = ?"); $stmt->execute(array($person_id, $username, $schoolID)); $personData = $stmt->fetch(PDO::FETCH_ASSOC); if (!$personData) { echo ""; exit; } } catch (PDOException $e) { echo ""; exit; } // ดึงข้อมูลการให้บริการสำหรับแก้ไข $editData = array(); if ($isEdit) { try { $stmt = $pdo->prepare("SELECT * FROM `individual_counseling_service` WHERE id = ? AND individual_counseling_id = ?"); $stmt->execute(array($service_id, $person_id)); $editData = $stmt->fetch(PDO::FETCH_ASSOC); if (!$editData) { echo ""; exit; } // ดึงวันที่แยกต่างหากเพื่อหลีกเลี่ยง PDOFormatDate (ใช้ / แทน - เพื่อไม่ให้ถูก format) $dateStmt = $pdo->prepare("SELECT DATE_FORMAT(service_request_date, '%Y/%m/%d') AS srd, DATE_FORMAT(follow_up_date, '%Y/%m/%d') AS fud FROM `individual_counseling_service` WHERE id = ?"); $dateStmt->execute(array($service_id)); $dateRow = $dateStmt->fetch(PDO::FETCH_ASSOC); $editData['service_request_date'] = (!empty($dateRow['srd'])) ? str_replace('/', '-', $dateRow['srd']) : ''; $editData['follow_up_date'] = (!empty($dateRow['fud'])) ? str_replace('/', '-', $dateRow['fud']) : ''; } catch (PDOException $e) { echo ""; exit; } } // ดึงข้อมูลสำหรับโหมด copy (ติดตามการนัดหมาย) if ($isCopy) { $copy_service_id = intval($_GET['service_id']); try { $stmt = $pdo->prepare("SELECT * FROM `individual_counseling_service` WHERE id = ? AND individual_counseling_id = ?"); $stmt->execute(array($copy_service_id, $person_id)); $editData = $stmt->fetch(PDO::FETCH_ASSOC); if (!$editData) { $editData = array(); $isCopy = false; } else { // สำหรับ copy: ล้างวันที่และการนัดหมาย ให้กรอกใหม่ $editData['service_request_date'] = ''; $editData['follow_up_id'] = ''; $editData['follow_up_date'] = ''; } } catch (PDOException $e) { $editData = array(); $isCopy = false; } } // $useData = true เมื่อมีข้อมูลเดิมให้ pre-fill (ทั้ง edit และ copy) $useData = $isEdit || $isCopy; // คำนวณครั้งที่ขอรับบริการถัดไป (สำหรับกรณีเพิ่มใหม่) $nextServiceNumber = 1; if (!$isEdit) { try { $stmt = $pdo->prepare("SELECT COALESCE(MAX(service_request_number), 0) + 1 AS next_number FROM `individual_counseling_service` WHERE individual_counseling_id = ?"); $stmt->execute(array($person_id)); $result = $stmt->fetch(PDO::FETCH_ASSOC); $nextServiceNumber = isset($result['next_number']) ? $result['next_number'] : 1; } catch (PDOException $e) { $nextServiceNumber = 1; } } // ฟังก์ชันสำหรับดึงข้อมูลจากตารางประเภทต่างๆ function getTypeData($table, $pdo) { try { $sql = "SELECT id, title FROM `{$table}` WHERE status = 1 ORDER BY id"; $stmt = $pdo->prepare($sql); $stmt->execute(); $result = $stmt->fetchAll(PDO::FETCH_ASSOC); // ถ้าไม่พบข้อมูลใน status = 1 ให้ลองดูทั้งหมด if (empty($result)) { $sql = "SELECT id, title FROM `{$table}` ORDER BY id"; $stmt = $pdo->prepare($sql); $stmt->execute(); $result = $stmt->fetchAll(PDO::FETCH_ASSOC); } return $result; } catch (PDOException $e) { return array(); } } // ดึงข้อมูลประเภทต่างๆ $educationTypes = getTypeData('typeEducational', $pdo); // ดึงข้อมูลประเภทปัญหาด้านอาชีพ จากตาราง typeEduOccupation $careerTypes = getTypeData('typeEduOccupation', $pdo); if (empty($careerTypes)) { // Fallback: ลองชื่อตารางอื่นที่อาจมีในระบบ $careerTypes = getTypeData('typeeduoccupation', $pdo); } if (empty($careerTypes)) { $careerTypes = getTypeData('typeOccupation', $pdo); } // ดึงข้อมูลประเภทปัญหาด้านส่วนตัวและสังคม จากตาราง typesocialSspects $personalTypes = getTypeData('typesocialSspects', $pdo); if (empty($personalTypes)) { // Fallback: ลองชื่อตารางอื่นที่อาจมีในระบบ $personalTypes = getTypeData('typeSocial', $pdo); } if (empty($personalTypes)) { $personalTypes = getTypeData('typePersonal', $pdo); } $successTypes = getTypeData('typeServiceSuccess', $pdo); $appointmentTypes = getTypeData('typeAppointment', $pdo); $helpTypes = getTypeData('typeGiveHelp', $pdo); // Debug: ถ้าไม่มีข้อมูล ให้สร้างข้อมูลตัวอย่าง if (empty($careerTypes)) { $careerTypes = array( array('id' => 1, 'title' => 'การเลือกสาขาวิชา'), array('id' => 2, 'title' => 'การหางาน'), array('id' => 3, 'title' => 'การเปลี่ยนงาน'), array('id' => 4, 'title' => 'การพัฒนาทักษะ'), array('id' => 5, 'title' => 'ปัญหาในที่ทำงาน') ); } if (empty($personalTypes)) { $personalTypes = array( array('id' => 1, 'title' => 'ปัญหาครอบครัว'), array('id' => 2, 'title' => 'ปัญหาการปรับตัว'), array('id' => 3, 'title' => 'ปัญหาความสัมพันธ์'), array('id' => 4, 'title' => 'ปัญหาความเครียด'), array('id' => 5, 'title' => 'ปัญหาสุขภาพจิต') ); } // Debug information (สามารถลบได้เมื่อแก้ไขเสร็จ) if (isset($_GET['debug'])) { echo "
Education Types: " . count($educationTypes) . " items
"; echo "Career Types: " . count($careerTypes) . " items
"; echo "Personal Types: " . count($personalTypes) . " items
"; echo "Success Types: " . count($successTypes) . " items
"; echo "Appointment Types: " . count($appointmentTypes) . " items
"; echo "Help Types: " . count($helpTypes) . " items
"; echo "ID: {$helpType['id']} - Title: {$helpType['title']}
"; } echo "Help Sub Types: " . count($helpSubTypes) . " groups
"; foreach ($helpSubTypes as $parentId => $subTypes) { echo "Parent ID {$parentId}: " . count($subTypes) . " sub-items
"; foreach ($subTypes as $subType) { echo "Sub ID: {$subType['id']} - Title: {$subType['title']}
"; } } echo "