Update Banyak

This commit is contained in:
WD - Dev
2025-09-21 21:40:17 +07:00
parent c6bee729c5
commit efca8f5f80
145 changed files with 195185 additions and 1378 deletions
+40 -23
View File
@@ -1,37 +1,54 @@
<?php
// Koneksi ke database
include '../config/connect.php';
include '../config/encrypt.php';
// Pastikan input yang diterima dari GET aman
$id_data_server = isset($_GET['id']) ? intval($_GET['id']) : 0;
// $generate_time = isset($_GET['tgl']) ? $_GET['tgl'] : '';
$id_data_server = isset($_GET['id']) ? decrypt_url($_GET['id']) : 0;
// Memastikan nilai yang diterima valid dan menghindari SQL injection
// Memastikan nilai yang diterima valid
if ($id_data_server > 0) {
$data_akumulasi = [];
// Query yang lebih aman menggunakan prepared statements
$stmt = $pdo->prepare("SELECT id_data_server,
SUM(total) as total,
SUM(ditahan) as ditahan,
SUM(tersedia) as tersedia
FROM v_akumulasi_paygw
WHERE id_data_server = :id_data_server");
$stmt->bindValue(':id_data_server', $id_data_server, PDO::PARAM_INT);
// $stmt->bindValue(':generate_time', $generate_time, PDO::PARAM_STR);
$stmt->execute();
// Mengambil hasil query dan menyimpannya dalam array
while ($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
$data_akumulasi[] = $row;
// Query gabungan
if ($id_data_server == 1) {
$sql = "SELECT
p.id_data_server,
SUM(p.total) AS total,
SUM(p.ditahan) AS ditahan,
SUM(p.tersedia) AS tersedia,
SUM(v.jum_lunas) AS jum_lunas,
SUM(v.jum_pending) AS jum_pending,
SUM(v.jum_cancel) AS jum_cancel,
SUM(v.jum_aktif) AS jum_aktif,
SUM(v.jum_belum_aktif) AS jum_belum_aktif,
SUM(v.jum_nonaktif) AS jum_nonaktif
FROM v_akumulasi_paygw p
LEFT JOIN v_akumulasi_voucher_paygw v
ON p.id_data_server = v.id_data_server";
} else {
$sql = "SELECT
p.id_data_server,
SUM(p.total) AS total,
SUM(p.ditahan) AS ditahan,
SUM(p.tersedia) AS tersedia,
SUM(v.jum_lunas) AS jum_lunas,
SUM(v.jum_pending) AS jum_pending,
SUM(v.jum_cancel) AS jum_cancel,
SUM(v.jum_aktif) AS jum_aktif,
SUM(v.jum_belum_aktif) AS jum_belum_aktif,
SUM(v.jum_nonaktif) AS jum_nonaktif
FROM v_akumulasi_paygw p
LEFT JOIN v_akumulasi_voucher_paygw v
ON p.id_data_server = v.id_data_server
WHERE p.id_data_server IN ($id_data_server)";
}
// Mengatur header untuk output JSON
$stmt = $pdo->prepare($sql);
$stmt->execute();
$data_akumulasi = $stmt->fetchAll(PDO::FETCH_ASSOC);
// Output JSON
header('Content-Type: application/json');
echo json_encode($data_akumulasi);
} else {
echo json_encode(['error' => 'Invalid parameters']);
}
?>