63 lines
2.1 KiB
PHP
63 lines
2.1 KiB
PHP
<?php
|
|
include '../config/database.php';
|
|
|
|
// Ambil parameter pencarian
|
|
$search_keterangan = isset($_GET['search_keterangan']) ? mysqli_real_escape_string($conn, $_GET['search_keterangan']) : '';
|
|
$search_bulan = isset($_GET['search_bulan']) ? mysqli_real_escape_string($conn, $_GET['search_bulan']) : '';
|
|
$page = isset($_GET['page']) ? (int)$_GET['page'] : 1;
|
|
$limit = 10;
|
|
$offset = ($page - 1) * $limit;
|
|
|
|
// Query dasar
|
|
$query = "SELECT * FROM dana_kas WHERE 1";
|
|
|
|
// Filter berdasarkan keterangan
|
|
if (!empty($search_keterangan)) {
|
|
$query .= " AND kas_keterangan LIKE '%$search_keterangan%'";
|
|
}
|
|
|
|
// Filter berdasarkan bulan & tahun
|
|
if (!empty($search_bulan)) {
|
|
$query .= " AND DATE_FORMAT(kas_tanggal, '%Y-%m') = '$search_bulan'";
|
|
}
|
|
|
|
// Hitung total data untuk pagination
|
|
$count_query = str_replace("SELECT *", "SELECT COUNT(*) as total", $query);
|
|
$count_result = mysqli_query($conn, $count_query);
|
|
$count_data = mysqli_fetch_assoc($count_result);
|
|
$total_data = $count_data['total'];
|
|
$total_pages = ceil($total_data / $limit);
|
|
|
|
// Tambahkan limit & offset
|
|
$query .= " ORDER BY kas_tanggal DESC LIMIT $limit OFFSET $offset";
|
|
$result = mysqli_query($conn, $query);
|
|
|
|
$data = "";
|
|
$no = $offset + 1;
|
|
while ($row = mysqli_fetch_assoc($result)) {
|
|
$data .= "<tr>";
|
|
$data .= "<td>" . $no++ . "</td>";
|
|
$data .= "<td>Rp " . number_format($row['kas_pemasukan'], 0, ',', '.') . "</td>";
|
|
$data .= "<td>Rp " . number_format($row['kas_pengeluaran'], 0, ',', '.') . "</td>";
|
|
$data .= "<td>" . htmlspecialchars($row['kas_keterangan']) . "</td>";
|
|
$data .= "<td>" . htmlspecialchars($row['kas_jenis']) . "</td>";
|
|
$data .= "<td>" . date("d-m-Y", strtotime($row['kas_tanggal'])) . "</td>";
|
|
$data .= "<td>
|
|
<a href='edit_ikhtisarkas.php?id=" . $row['kas_id'] . "' class='btn btn-warning btn-sm'>Edit</a>
|
|
</td>";
|
|
$data .= "</tr>";
|
|
}
|
|
|
|
// Hasil dikembalikan dalam format JSON
|
|
$response = [
|
|
"data" => $data,
|
|
"current_page" => $page,
|
|
"total_pages" => $total_pages
|
|
];
|
|
|
|
echo json_encode($response);
|
|
|
|
// Tutup koneksi database
|
|
mysqli_close($conn);
|
|
?>
|