Update Banyak
This commit is contained in:
@@ -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']);
|
||||
}
|
||||
?>
|
||||
|
||||
Reference in New Issue
Block a user