<?php
require_once('vendor/tecnickcom/tcpdf/tcpdf.php');
// Koneksi ke database (sesuaikan dengan konfigurasi Anda)
$host = 'localhost';
$dbname = 'db_buku_induk';
$username = 'root';
$password = 'root';

try {
    $pdo = new PDO("mysql:host=$host;dbname=$dbname", $username, $password);
    $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
    die("Koneksi database gagal: " . $e->getMessage());
}

// Ambil data siswa berdasarkan ID (contoh: ID siswa = 1)
$id_siswa = 1;
$siswa = getSiswaData($pdo, $id_siswa);
$pendidikan = getPendidikanData($pdo, $id_siswa);
$orangtua = getOrangTuaData($pdo, $id_siswa);
$kegemaran = getKegemaranData($pdo, $id_siswa);
$perkembangan = getPerkembanganData($pdo, $id_siswa);

// Buat class PDF custom
class BukuIndukPDF extends TCPDF {
    // Header
    public function Header() {
        // Logo
        $image_file = 'logo_sekolah.jpg';
        if (file_exists($image_file)) {
            $this->Image($image_file, 15, 10, 25, '', 'JPG', '', 'T', false, 300, '', false, false, 0, false, false, false);
        }
        
        // Header text
        $this->SetFont('helvetica', 'B', 16);
        $this->Cell(0, 15, 'BUKU INDUK PESERTA DIDIK', 0, 1, 'C', 0, '', 0, false, 'M', 'M');
        $this->SetFont('helvetica', 'B', 14);
        $this->Cell(0, 0, 'KURIKULUM MERDEKA', 0, 1, 'C', 0, '', 0, false, 'M', 'M');
        
        // Garis pembatas
        $this->Line(10, 35, 200, 35);
        
        $this->SetY(40); // Set posisi Y untuk konten
    }
    
    // Footer
    public function Footer() {
        $this->SetY(-15);
        $this->SetFont('helvetica', 'I', 8);
        $this->Cell(0, 10, 'Halaman '.$this->getAliasNumPage().'/'.$this->getAliasNbPages(), 0, false, 'C', 0, '', 0, false, 'T', 'M');
    }
}

// Buat dokumen PDF
$pdf = new BukuIndukPDF(PDF_PAGE_ORIENTATION, PDF_UNIT, PDF_PAGE_FORMAT, true, 'UTF-8', false);

// Set informasi dokumen
$pdf->SetCreator(PDF_CREATOR);
$pdf->SetAuthor('Sekolah Kita');
$pdf->SetTitle('Buku Induk Siswa - ' . $siswa['nama_lengkap']);
$pdf->SetSubject('Buku Induk Siswa');
$pdf->SetKeywords('Buku Induk, Siswa, Sekolah');

// Set margin
$pdf->SetMargins(15, 40, 15);
$pdf->SetHeaderMargin(10);
$pdf->SetFooterMargin(10);
$pdf->SetAutoPageBreak(TRUE, 25);

// Add a page
$pdf->AddPage();

// Set font
$pdf->SetFont('helvetica', '', 10);

// A. KETERANGAN TENTANG PESERTA DIDIK
$pdf->SetFont('helvetica', 'B', 12);
$pdf->Cell(0, 6, 'A. KETERANGAN TENTANG PESERTA DIDIK', 0, 1, 'L');
$pdf->SetFont('helvetica', '', 10);

$html = '<table cellspacing="0" cellpadding="4" border="0">
<tr>
    <td width="40%">1. Nama Panggilan Peserta Didik</td>
    <td width="60%">: '.htmlspecialchars($siswa['nama_panggilan'] ?? '').'</td>
</tr>
<tr>
    <td width="40%">2. Jenis Kelamin</td>
    <td width="60%">: '.(($siswa['jenis_kelamin'] ?? '') == 'L' ? 'Laki-laki' : 'Perempuan').'</td>
</tr>
<tr>
    <td width="40%">3. Tempat dan Tanggal Lahir</td>
    <td width="60%">: '.htmlspecialchars($siswa['tempat_lahir'] ?? '').', '.(!empty($siswa['tanggal_lahir']) ? date('d-m-Y', strtotime($siswa['tanggal_lahir'])) : '').'</td>
</tr>
<tr>
    <td width="40%">4. Agama</td>
    <td width="60%">: '.htmlspecialchars($siswa['agama'] ?? '').'</td>
</tr>
<tr>
    <td width="40%">5. Kewarganegaraan</td>
    <td width="60%">: '.htmlspecialchars($siswa['kewarganegaraan'] ?? '').'</td>
</tr>
<tr>
    <td width="40%">6. Anak keberapa</td>
    <td width="60%">: '.htmlspecialchars($siswa['anak_ke'] ?? '').'</td>
</tr>
<tr>
    <td width="40%">7. Jumlah saudara kandung</td>
    <td width="60%">: '.htmlspecialchars($siswa['jumlah_saudara_kandung'] ?? '').'</td>
</tr>
<tr>
    <td width="40%">8. Jumlah saudara tiri</td>
    <td width="60%">: '.htmlspecialchars($siswa['jumlah_saudara_tiri'] ?? '').'</td>
</tr>
<tr>
    <td width="40%">9. Jumlah saudara angkat</td>
    <td width="60%">: '.htmlspecialchars($siswa['jumlah_saudara_angkat'] ?? '').'</td>
</tr>
<tr>
    <td width="40%">10. Status anak</td>
    <td width="60%">: '.htmlspecialchars($siswa['status_anak'] ?? '').'</td>
</tr>
<tr>
    <td width="40%">11. Bahasa sehari-hari</td>
    <td width="60%">: '.htmlspecialchars($siswa['bahasa_sehari_hari'] ?? '').'</td>
</tr>
</table>';

$pdf->writeHTML($html, true, false, true, false, '');

// B. KETERANGAN TEMPAT TINGGAL
$pdf->SetFont('helvetica', 'B', 12);
$pdf->Cell(0, 6, 'B. KETERANGAN TEMPAT TINGGAL', 0, 1, 'L');
$pdf->SetFont('helvetica', '', 10);

$html = '<table cellspacing="0" cellpadding="4" border="0">
<tr>
    <td width="40%">12. Alamat</td>
    <td width="60%">: '.htmlspecialchars($siswa['alamat'] ?? '').'</td>
</tr>
<tr>
    <td width="40%">13. Nomor Telepon/HP</td>
    <td width="60%">: '.htmlspecialchars($siswa['no_hp'] ?? '').'</td>
</tr>
<tr>
    <td width="40%">14. Tinggal dengan</td>
    <td width="60%">: '.htmlspecialchars($siswa['tinggal_dengan'] ?? '').'</td>
</tr>
<tr>
    <td width="40%">15. Jarak tempat tinggal ke sekolah</td>
    <td width="60%">: '.htmlspecialchars($siswa['jarak_ke_sekolah'] ?? '').'</td>
</tr>
</table>';

$pdf->writeHTML($html, true, false, true, false, '');

// C. KETERANGAN KESEHATAN
$pdf->SetFont('helvetica', 'B', 12);
$pdf->Cell(0, 6, 'C. KETERANGAN KESEHATAN', 0, 1, 'L');
$pdf->SetFont('helvetica', '', 10);

$html = '<table cellspacing="0" cellpadding="4" border="0">
<tr>
    <td width="40%">16. Golongan Darah</td>
    <td width="60%">: '.htmlspecialchars($siswa['golongan_darah'] ?? '').'</td>
</tr>
<tr>
    <td width="40%">17. Penyakit yang pernah diderita</td>
    <td width="60%">: '.htmlspecialchars($siswa['riwayat_penyakit'] ?? '').'</td>
</tr>
<tr>
    <td width="40%">18. Kelainan jasmani</td>
    <td width="60%">: '.htmlspecialchars($siswa['kelainan_jasmani'] ?? '').'</td>
</tr>
<tr>
    <td width="40%">19. Tinggi dan berat badan (saat diterima di sekolah ini)</td>
    <td width="60%">: '.htmlspecialchars($siswa['tinggi_cm'] ?? '').' cm / '.htmlspecialchars($siswa['berat_kg'] ?? '').' kg</td>
</tr>
</table>';

$pdf->writeHTML($html, true, false, true, false, '');

// D. KETERANGAN PENDIDIKAN
$pdf->SetFont('helvetica', 'B', 12);
$pdf->Cell(0, 6, 'D. KETERANGAN PENDIDIKAN', 0, 1, 'L');
$pdf->SetFont('helvetica', '', 10);

$html = '<table cellspacing="0" cellpadding="4" border="0">
<tr>
    <td width="40%">20. Pendidikan sebelumnya</td>
    <td width="60%"></td>
</tr>
<tr>
    <td width="40%">&nbsp;&nbsp;a. Asal sekolah</td>
    <td width="60%">: '.htmlspecialchars($pendidikan['asal_sekolah'] ?? '').'</td>
</tr>
<tr>
    <td width="40%">&nbsp;&nbsp;b. Tanggal dan No. STTB</td>
    <td width="60%">: '.(!empty($pendidikan['tgl_sttb']) ? date('d-m-Y', strtotime($pendidikan['tgl_sttb'])) : '').' / '.htmlspecialchars($pendidikan['no_sttb'] ?? '').'</td>
</tr>
<tr>
    <td width="40%">&nbsp;&nbsp;c. Tanggal dan No. SKHUN</td>
    <td width="60%">: '.(!empty($pendidikan['tgl_skhun']) ? date('d-m-Y', strtotime($pendidikan['tgl_skhun'])) : '').' / '.htmlspecialchars($pendidikan['no_skhun'] ?? '').'</td>
</tr>
<tr>
    <td width="40%">&nbsp;&nbsp;d. Lamanya belajar</td>
    <td width="60%">: '.htmlspecialchars($pendidikan['lama_belajar'] ?? '').'</td>
</tr>
<tr>
    <td width="40%">21. Pindahan</td>
    <td width="60%"></td>
</tr>
<tr>
    <td width="40%">&nbsp;&nbsp;a. Dari sekolah</td>
    <td width="60%">: '.htmlspecialchars($pendidikan['pindahan_dari'] ?? '').'</td>
</tr>
<tr>
    <td width="40%">&nbsp;&nbsp;b. Alasan</td>
    <td width="60%">: '.htmlspecialchars($pendidikan['alasan_pindah'] ?? '').'</td>
</tr>
<tr>
    <td width="40%">22. Diterima di sekolah ini</td>
    <td width="60%"></td>
</tr>
<tr>
    <td width="40%">&nbsp;&nbsp;a. Di kelas</td>
    <td width="60%">: '.htmlspecialchars($pendidikan['diterima_di_kelas'] ?? '').'</td>
</tr>
<tr>
    <td width="40%">&nbsp;&nbsp;b. Paket</td>
    <td width="60%">: '.htmlspecialchars($pendidikan['paket'] ?? '').'</td>
</tr>
<tr>
    <td width="40%">&nbsp;&nbsp;c. Tanggal/Bulan/Tahun</td>
    <td width="60%">: '.(!empty($pendidikan['tanggal_diterima']) ? date('d-m-Y', strtotime($pendidikan['tanggal_diterima'])) : '').'</td>
</tr>
</table>';

$pdf->writeHTML($html, true, false, true, false, '');

// Tambah halaman baru untuk bagian selanjutnya
$pdf->AddPage();

// E. KETERANGAN TENTANG AYAH KANDUNG
$pdf->SetFont('helvetica', 'B', 12);
$pdf->Cell(0, 6, 'E. KETERANGAN TENTANG AYAH KANDUNG', 0, 1, 'L');
$pdf->SetFont('helvetica', '', 10);

$ayah = getOrangTuaByHubungan($orangtua, 'Ayah');

$html = '<table cellspacing="0" cellpadding="4" border="0">
<tr>
    <td width="40%">23. Nama Lengkap</td>
    <td width="60%">: '.htmlspecialchars($ayah['nama'] ?? '').'</td>
</tr>
<tr>
    <td width="40%">24. Tempat dan Tanggal Lahir</td>
    <td width="60%">: '.htmlspecialchars($ayah['tempat_lahir'] ?? '').', '.(!empty($ayah['tanggal_lahir']) ? date('d-m-Y', strtotime($ayah['tanggal_lahir'])) : '').'</td>
</tr>
<tr>
    <td width="40%">25. Agama</td>
    <td width="60%">: '.htmlspecialchars($ayah['agama'] ?? '').'</td>
</tr>
<tr>
    <td width="40%">26. Kewarganegaraan</td>
    <td width="60%">: '.htmlspecialchars($ayah['kewarganegaraan'] ?? '').'</td>
</tr>
<tr>
    <td width="40%">27. Pendidikan Terakhir</td>
    <td width="60%">: '.htmlspecialchars($ayah['pendidikan_terakhir'] ?? '').'</td>
</tr>
<tr>
    <td width="40%">28. Pekerjaan</td>
    <td width="60%">: '.htmlspecialchars($ayah['pekerjaan'] ?? '').'</td>
</tr>
<tr>
    <td width="40%">29. Penghasilan per Bulan</td>
    <td width="60%">: '.formatRupiah($ayah['penghasilan_bulanan'] ?? '').'</td>
</tr>
<tr>
    <td width="40%">30. Alamat Rumah/Nomor Telp/HP</td>
    <td width="60%">: '.htmlspecialchars($ayah['alamat'] ?? '').' / '.htmlspecialchars($ayah['no_hp'] ?? '').'</td>
</tr>
<tr>
    <td width="40%">31. Status Hidup</td>
    <td width="60%">: '.htmlspecialchars($ayah['status_hidup'] ?? '').'</td>
</tr>
</table>';

$pdf->writeHTML($html, true, false, true, false, '');

// F. KETERANGAN TENTANG IBU KANDUNG
$pdf->SetFont('helvetica', 'B', 12);
$pdf->Cell(0, 6, 'F. KETERANGAN TENTANG IBU KANDUNG', 0, 1, 'L');
$pdf->SetFont('helvetica', '', 10);

$ibu = getOrangTuaByHubungan($orangtua, 'Ibu');

$html = '<table cellspacing="0" cellpadding="4" border="0">
<tr>
    <td width="40%">32. Nama Lengkap</td>
    <td width="60%">: '.htmlspecialchars($ibu['nama'] ?? '').'</td>
</tr>
<tr>
    <td width="40%">33. Tempat dan Tanggal Lahir</td>
    <td width="60%">: '.htmlspecialchars($ibu['tempat_lahir'] ?? '').', '.(!empty($ibu['tanggal_lahir']) ? date('d-m-Y', strtotime($ibu['tanggal_lahir'])) : '').'</td>
</tr>
<tr>
    <td width="40%">34. Agama</td>
    <td width="60%">: '.htmlspecialchars($ibu['agama'] ?? '').'</td>
</tr>
<tr>
    <td width="40%">35. Kewarganegaraan</td>
    <td width="60%">: '.htmlspecialchars($ibu['kewarganegaraan'] ?? '').'</td>
</tr>
<tr>
    <td width="40%">36. Pendidikan Terakhir</td>
    <td width="60%">: '.htmlspecialchars($ibu['pendidikan_terakhir'] ?? '').'</td>
</tr>
<tr>
    <td width="40%">37. Pekerjaan</td>
    <td width="60%">: '.htmlspecialchars($ibu['pekerjaan'] ?? '').'</td>
</tr>
<tr>
    <td width="40%">38. Penghasilan per Bulan</td>
    <td width="60%">: '.formatRupiah($ibu['penghasilan_bulanan'] ?? '').'</td>
</tr>
<tr>
    <td width="40%">39. Alamat Rumah/Nomor Telp/HP</td>
    <td width="60%">: '.htmlspecialchars($ibu['alamat'] ?? '').' / '.htmlspecialchars($ibu['no_hp'] ?? '').'</td>
</tr>
<tr>
    <td width="40%">40. Status Hidup</td>
    <td width="60%">: '.htmlspecialchars($ibu['status_hidup'] ?? '').'</td>
</tr>
</table>';

$pdf->writeHTML($html, true, false, true, false, '');

// G. KETERANGAN TENTANG WALI
$pdf->SetFont('helvetica', 'B', 12);
$pdf->Cell(0, 6, 'G. KETERANGAN TENTANG WALI', 0, 1, 'L');
$pdf->SetFont('helvetica', '', 10);

$wali = getOrangTuaByHubungan($orangtua, 'Wali');

$html = '<table cellspacing="0" cellpadding="4" border="0">
<tr>
    <td width="40%">41. Nama Lengkap</td>
    <td width="60%">: '.htmlspecialchars($wali['nama'] ?? '').'</td>
</tr>
<tr>
    <td width="40%">42. Tempat dan Tanggal Lahir</td>
    <td width="60%">: '.htmlspecialchars($wali['tempat_lahir'] ?? '').', '.(!empty($wali['tanggal_lahir']) ? date('d-m-Y', strtotime($wali['tanggal_lahir'])) : '').'</td>
</tr>
<tr>
    <td width="40%">43. Agama</td>
    <td width="60%">: '.htmlspecialchars($wali['agama'] ?? '').'</td>
</tr>
<tr>
    <td width="40%">44. Kewarganegaraan</td>
    <td width="60%">: '.htmlspecialchars($wali['kewarganegaraan'] ?? '').'</td>
</tr>
<tr>
    <td width="40%">45. Pendidikan Terakhir</td>
    <td width="60%">: '.htmlspecialchars($wali['pendidikan_terakhir'] ?? '').'</td>
</tr>
<tr>
    <td width="40%">46. Pekerjaan</td>
    <td width="60%">: '.htmlspecialchars($wali['pekerjaan'] ?? '').'</td>
</tr>
<tr>
    <td width="40%">47. Penghasilan per Bulan</td>
    <td width="60%">: '.formatRupiah($wali['penghasilan_bulanan'] ?? '').'</td>
</tr>
<tr>
    <td width="40%">48. Alamat Rumah/Nomor Telp/HP</td>
    <td width="60%">: '.htmlspecialchars($wali['alamat'] ?? '').' / '.htmlspecialchars($wali['no_hp'] ?? '').'</td>
</tr>
</table>';

$pdf->writeHTML($html, true, false, true, false, '');

// Tambah halaman baru untuk bagian selanjutnya
$pdf->AddPage();

// H. KEGEMARAN PESERTA DIDIK
$pdf->SetFont('helvetica', 'B', 12);
$pdf->Cell(0, 6, 'H. KEGEMARAN PESERTA DIDIK', 0, 1, 'L');
$pdf->SetFont('helvetica', '', 10);

$html = '<table cellspacing="0" cellpadding="4" border="0">
<tr>
    <td width="40%">49. Kesenian</td>
    <td width="60%">: '.htmlspecialchars(getKegemaranByKategori($kegemaran, 'Kesenian')).'</td>
</tr>
<tr>
    <td width="40%">50. Olahraga</td>
    <td width="60%">: '.htmlspecialchars(getKegemaranByKategori($kegemaran, 'Olahraga')).'</td>
</tr>
<tr>
    <td width="40%">51. Organisasi</td>
    <td width="60%">: '.htmlspecialchars(getKegemaranByKategori($kegemaran, 'Organisasi')).'</td>
</tr>
<tr>
    <td width="40%">52. Lain-lain</td>
    <td width="60%">: '.htmlspecialchars(getKegemaranByKategori($kegemaran, 'Lainnya')).'</td>
</tr>
</table>';

$pdf->writeHTML($html, true, false, true, false, '');

// I. KETERANGAN PERKEMBANGAN PESERTA DIDIK
$pdf->SetFont('helvetica', 'B', 12);
$pdf->Cell(0, 6, 'I. KETERANGAN PERKEMBANGAN PESERTA DIDIK', 0, 1, 'L');
$pdf->SetFont('helvetica', '', 10);

$html = '<table cellspacing="0" cellpadding="4" border="0">
<tr>
    <td width="40%">53. Menerima Beasiswa</td>
    <td width="60%">: '.(($perkembangan['menerima_beasiswa'] ?? 0) ? 'Ya' : 'Tidak').'</td>
</tr>
<tr>
    <td width="40%">54. Meninggalkan sekolah ini</td>
    <td width="60%"></td>
</tr>
<tr>
    <td width="40%">&nbsp;&nbsp;a. Tanggal meninggalkan sekolah</td>
    <td width="60%">: '.(!empty($perkembangan['tanggal_keluar']) ? date('d-m-Y', strtotime($perkembangan['tanggal_keluar'])) : '').'</td>
</tr>
<tr>
    <td width="40%">&nbsp;&nbsp;b. Alasan</td>
    <td width="60%">: '.htmlspecialchars($perkembangan['alasan_keluar'] ?? '').'</td>
</tr>
<tr>
    <td width="40%">55. Akhir pendidikan</td>
    <td width="60%"></td>
</tr>
<tr>
    <td width="40%">&nbsp;&nbsp;a. Lulus</td>
    <td width="60%">: '.(($perkembangan['lulus'] ?? 0) ? 'Ya' : 'Tidak').'</td>
</tr>
<tr>
    <td width="40%">&nbsp;&nbsp;b. Nomor / Tanggal Ijazah</td>
    <td width="60%">: '.htmlspecialchars($perkembangan['no_ijazah'] ?? '').' / '.(!empty($perkembangan['tgl_ijazah']) ? date('d-m-Y', strtotime($perkembangan['tgl_ijazah'])) : '').'</td>
</tr>
<tr>
    <td width="40%">&nbsp;&nbsp;c. Nomor / Tanggal SKHUN</td>
    <td width="60%">: '.htmlspecialchars($perkembangan['no_skhun'] ?? '').' / '.(!empty($perkembangan['tgl_skhun']) ? date('d-m-Y', strtotime($perkembangan['tgl_skhun'])) : '').'</td>
</tr>
</table>';

$pdf->writeHTML($html, true, false, true, false, '');

// J. KETERANGAN SETELAH SELESAI PENDIDIKAN
$pdf->SetFont('helvetica', 'B', 12);
$pdf->Cell(0, 6, 'J. KETERANGAN SETELAH SELESAI PENDIDIKAN', 0, 1, 'L');
$pdf->SetFont('helvetica', '', 10);

$html = '<table cellspacing="0" cellpadding="4" border="0">
<tr>
    <td width="40%">56. Melanjutkan</td>
    <td width="60%">: '.htmlspecialchars($perkembangan['melanjutkan_ke'] ?? '').'</td>
</tr>
<tr>
    <td width="40%">57. Bekerja di</td>
    <td width="60%"></td>
</tr>
<tr>
    <td width="40%">&nbsp;&nbsp;a. Tanggal mulai bekerja</td>
    <td width="60%">: '.(!empty($perkembangan['tgl_mulai_kerja']) ? date('d-m-Y', strtotime($perkembangan['tgl_mulai_kerja'])) : '').'</td>
</tr>
<tr>
    <td width="40%">&nbsp;&nbsp;b. Nama Perusahaan/Lembaga</td>
    <td width="60%">: '.htmlspecialchars($perkembangan['tempat_kerja'] ?? '').'</td>
</tr>
<tr>
    <td width="40%">&nbsp;&nbsp;c. Penghasilan</td>
    <td width="60%">: '.formatRupiah($perkembangan['penghasilan_kerja'] ?? '').'</td>
</tr>
</table>';

$pdf->writeHTML($html, true, false, true, false, '');

// Tambahkan foto siswa jika ada
if (!empty($siswa['foto_masuk'])) {
    $pdf->Image($siswa['foto_masuk'], 150, 20, 40, 50, '', '', 'T', false, 300, '', false, false, 0, false, false, false);
    $pdf->SetFont('helvetica', '', 10);
    $pdf->Text(160, 72, 'Saat diterima');
}

// Output PDF
$pdf->Output('buku_induk_'.$siswa['nisn'].'.pdf', 'I');

// Fungsi untuk mengambil data siswa
function getSiswaData($pdo, $id_siswa) {
    $stmt = $pdo->prepare("SELECT * FROM bind_siswa WHERE id_siswa = ?");
    $stmt->execute([$id_siswa]);
    return $stmt->fetch(PDO::FETCH_ASSOC) ?: [];
}

// Fungsi untuk mengambil data pendidikan
function getPendidikanData($pdo, $id_siswa) {
    $stmt = $pdo->prepare("SELECT * FROM bind_pendidikan_siswa WHERE id_siswa = ?");
    $stmt->execute([$id_siswa]);
    return $stmt->fetch(PDO::FETCH_ASSOC) ?: [];
}

// Fungsi untuk mengambil data orangtua
function getOrangTuaData($pdo, $id_siswa) {
    $stmt = $pdo->prepare("SELECT * FROM bind_orang_tua WHERE id_siswa = ?");
    $stmt->execute([$id_siswa]);
    return $stmt->fetchAll(PDO::FETCH_ASSOC) ?: [];
}

// Fungsi untuk mengambil data kegemaran
function getKegemaranData($pdo, $id_siswa) {
    $stmt = $pdo->prepare("SELECT * FROM bind_siswa_kegemaran WHERE id_siswa = ?");
    $stmt->execute([$id_siswa]);
    return $stmt->fetchAll(PDO::FETCH_ASSOC) ?: [];
}

// Fungsi untuk mengambil data perkembangan
function getPerkembanganData($pdo, $id_siswa) {
    $stmt = $pdo->prepare("SELECT * FROM bind_perkembangan_siswa WHERE id_siswa = ?");
    $stmt->execute([$id_siswa]);
    return $stmt->fetch(PDO::FETCH_ASSOC) ?: [];
}

// Fungsi untuk mengambil data orangtua berdasarkan hubungan
function getOrangTuaByHubungan($orangtua, $hubungan) {
    foreach ($orangtua as $ortu) {
        if ($ortu['hubungan'] == $hubungan) {
            return $ortu;
        }
    }
    return [];
}

// Fungsi untuk mengambil data kegemaran berdasarkan kategori
function getKegemaranByKategori($kegemaran, $kategori) {
    $result = [];
    foreach ($kegemaran as $kg) {
        if ($kg['kategori'] == $kategori) {
            $result[] = $kg['nama_kegemaran'];
        }
    }
    return implode(', ', $result);
}

// Fungsi untuk format Rupiah dengan penanganan nilai kosong
function formatRupiah($value) {
    if (empty($value) || !is_numeric($value)) {
        return '-';
    }
    return 'Rp. ' . number_format((float)$value, 0, ',', '.');
}
?>