<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);

include '../../../conexao/index.php';

// Verifica se a conexão está ativa
if (!$db) {
    die(json_encode(["error" => "Erro na conexão: " . mysqli_connect_error()]));
}

// Parâmetros do DataTables
$draw = isset($_GET['draw']) ? intval($_GET['draw']) : 1;
$start = isset($_GET['start']) ? intval($_GET['start']) : 0;
$length = isset($_GET['length']) ? intval($_GET['length']) : 10;

// Contagem total de registros
$totalRecordsQuery = "SELECT COUNT(*) AS total FROM despesas";
$totalRecordsResult = mysqli_query($db, $totalRecordsQuery);
$totalRecords = mysqli_fetch_assoc($totalRecordsResult)['total'];

// Consulta com paginação
$sql = "SELECT id, descricao, categoria, valor, data_vencimento, status FROM despesas LIMIT $start, $length";
$result = mysqli_query($db, $sql);

if (!$result) {
    die(json_encode(["error" => "Erro na consulta: " . mysqli_error($db)]));
}

// Monta array de resposta
$data = [];
while ($row = mysqli_fetch_assoc($result)) {
    $data[] = $row;
}

// Retorna JSON
echo json_encode([
    "draw" => $draw,
    "recordsTotal" => $totalRecords,
    "recordsFiltered" => $totalRecords,
    "data" => $data
]);
?>
