Files
manjapro_v6/load/data_report_dashboard.php

46 lines
1.6 KiB
PHP

<?php
header('Content-Type: application/json');
include "../config/connect.php";
// Ambil tahun dari query string, jika tidak ada gunakan tahun saat ini
$tahun = isset($_GET['year']) ? $_GET['year'] : date('Y');
$sqldata = isset($_GET['s']) ? $_GET['s'] : '';
// Mengambil data dari database berdasarkan tahun
$stmt = $pdo->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);
?>