<?php
require_once 'config.php';

// 1. DATA GRAFIK USIA (Kategori Bulan)
$sql_usia = "SELECT tgl_lahir FROM balita";
$result_usia = $pdo->query($sql_usia)->fetchAll();

$kategori_usia = [
    '0-12 bln' => 0,
    '13-24 bln' => 0,
    '25-36 bln' => 0,
    '37-60 bln' => 0
];

foreach ($result_usia as $row) {
    $lahir = new DateTime($row['tgl_lahir']);
    $sekarang = new DateTime();
    $diff = $sekarang->diff($lahir);
    $bulan = ($diff->y * 12) + $diff->m;

    if ($bulan <= 12) $kategori_usia['0-12 bln']++;
    elseif ($bulan <= 24) $kategori_usia['13-24 bln']++;
    elseif ($bulan <= 36) $kategori_usia['25-36 bln']++;
    elseif ($bulan <= 60) $kategori_usia['37-60 bln']++;
}

// 2. DATA GRAFIK STUNTING
// Asumsi: Kita cek dari rekap timbangan terbaru atau kolom status di tabel balita
// Jika Bapak punya kolom 'status_gizi' di tabel balita:
$stunting = $pdo->query("SELECT COUNT(*) FROM balita WHERE status_gizi = 'Stunting'")->fetchColumn() ?: 0;
$normal = $pdo->query("SELECT COUNT(*) FROM balita WHERE status_gizi = 'Normal'")->fetchColumn() ?: 0;
$gizi_buruk = $pdo->query("SELECT COUNT(*) FROM balita WHERE status_gizi = 'Gizi Buruk'")->fetchColumn() ?: 0;

// Gabungkan data untuk dikirim ke JavaScript (Format JSON)
$data_final = [
    'labels_usia' => array_keys($kategori_usia),
    'data_usia'   => array_values($kategori_usia),
    'data_gizi'   => [
        'labels' => ['Stunting', 'Normal', 'Gizi Buruk'],
        'total'  => [$stunting, $normal, $gizi_buruk]
    ]
];

// Mengirimkan hasil sebagai JSON agar bisa dibaca oleh Chart.js
header('Content-Type: application/json');
echo json_encode($data_final);