Add remaining project files (exclude ignored folders)
This commit is contained in:
@@ -0,0 +1,45 @@
|
||||
<?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);
|
||||
?>
|
||||
Reference in New Issue
Block a user