prepare("SELECT SUM(pemasukan) AS pemasukan, SUM(pengeluaran) AS pengeluaran, SUM(saldo) AS saldo, bulan AS bulan FROM v_jumlah_transaksi_bulanan WHERE SUBSTRING(bulan, 1, 4) = :tahun $sqldata GROUP BY bulan"); $stmt->bindParam(':tahun', $tahun, PDO::PARAM_INT); $stmt->execute(); $jumbulan = $stmt->fetchAll(PDO::FETCH_ASSOC); // Inisialisasi array untuk menyimpan pemasukan, pengeluaran, dan saldo $pemasukan = array_fill(0, 12, 0); // Inisialisasi dengan 0 untuk semua bulan $pengeluaran = array_fill(0, 12, 0); $saldo = array_fill(0, 12, 0); $bulan = []; // Mengisi data ke dalam array foreach ($jumbulan as $row) { $monthIndex = (int) date('n', strtotime($row['bulan'])) - 1; // Ubah bulan ke indeks array (0-11) $pemasukan[$monthIndex] = (int) $row['pemasukan']; $pengeluaran[$monthIndex] = (int) $row['pengeluaran']; $saldo[$monthIndex] = (int) $row['saldo']; } // Buat array bulan untuk label for ($i = 0; $i < 12; $i++) { $bulan[] = sprintf('%s-%02d', $tahun, $i + 1); // format Y-m } // Mengemas data menjadi array untuk JSON $data = [ 'bulan' => $bulan, // data bulan yang ditampilkan di label 'pemasukan' => $pemasukan, 'pengeluaran' => $pengeluaran, 'saldo' => $saldo ]; // Mengirimkan data sebagai JSON echo json_encode($data); ?>