fix: resolve db connection failure and driver compatibility in api_distribusi.php

This commit is contained in:
noooviiieee
2026-06-11 19:51:54 +07:00
parent 83f723fb21
commit 91369481c8
+11 -16
View File
@@ -7,30 +7,19 @@ if (!isset($_SESSION['user_id'])) {
header('Content-Type: application/json'); header('Content-Type: application/json');
// KONEKSI DATABASE MENGGUNAKAN STANDAR PDO include 'koneksi.php';
$host = 'localhost';
$dbname = 'webgis_baru'; // Sesuaikan jika nama databasemu berbeda
$username = 'root';
$password = '';
try {
$pdo = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8", $username, $password);
$pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
} catch (PDOException $e) {
die(json_encode(["error" => "Koneksi PDO Gagal: " . $e->getMessage()]));
}
$aksi = $_GET['aksi'] ?? 'global'; $aksi = $_GET['aksi'] ?? 'global';
if ($aksi == 'global') { if ($aksi == 'global') {
// 1. PERBAIKAN: Menambahkan WHERE status = 'berhasil' agar donasi pending tidak ikut terhitung di index.php // 1. PERBAIKAN: Menambahkan WHERE status = 'berhasil' agar donasi pending tidak ikut terhitung di index.php
$stmtMasuk = $pdo->query("SELECT SUM(nominal) AS total_masuk, COUNT(id) AS jml_donatur FROM donasi_digital WHERE status = 'berhasil'"); $resultMasuk = $conn->query("SELECT SUM(nominal) AS total_masuk, COUNT(id) AS jml_donatur FROM donasi_digital WHERE status = 'berhasil'");
$dataMasuk = $stmtMasuk->fetch(PDO::FETCH_ASSOC); $dataMasuk = $resultMasuk ? $resultMasuk->fetch_assoc() : null;
$total_donasi = $dataMasuk['total_masuk'] ?? 0; $total_donasi = $dataMasuk['total_masuk'] ?? 0;
$jml_donatur = $dataMasuk['jml_donatur'] ?? 0; $jml_donatur = $dataMasuk['jml_donatur'] ?? 0;
// 2. Tarik Semua Log Distribusi ke Warga Miskin // 2. Tarik Semua Log Distribusi ke Warga Miskin
$stmtDistribusi = $pdo->query(" $resultDistribusi = $conn->query("
SELECT SELECT
h.id, h.jenis_id, h.tanggal_distribusi, h.nama_penyalur, h.jumlah, h.satuan_custom, h.catatan, h.id, h.jenis_id, h.tanggal_distribusi, h.nama_penyalur, h.jumlah, h.satuan_custom, h.catatan,
w.nama_kk, w.lat, w.lng w.nama_kk, w.lat, w.lng
@@ -38,7 +27,13 @@ if ($aksi == 'global') {
JOIN warga_miskin w ON h.warga_id = w.id JOIN warga_miskin w ON h.warga_id = w.id
ORDER BY h.tanggal_distribusi DESC ORDER BY h.tanggal_distribusi DESC
"); ");
$log_distribusi = $stmtDistribusi->fetchAll(PDO::FETCH_ASSOC);
$log_distribusi = [];
if ($resultDistribusi) {
while ($row = $resultDistribusi->fetch_assoc()) {
$log_distribusi[] = $row;
}
}
echo json_encode([ echo json_encode([
"total_donasi" => $total_donasi, "total_donasi" => $total_donasi,