41 lines
1.2 KiB
PHP
41 lines
1.2 KiB
PHP
<?php
|
|
require_once 'conexion.php';
|
|
header('Content-Type: application/json');
|
|
|
|
try {
|
|
// Obtener columnas dinámicas (excluyendo ID_Gasto, Periodo_Desde, Periodo_Hasta)
|
|
$sql_columns = "SHOW COLUMNS FROM gastos";
|
|
$result_columns = $conexion->query($sql_columns);
|
|
|
|
$columnas = [];
|
|
while ($row = $result_columns->fetch_assoc()) {
|
|
$col = $row['Field'];
|
|
if (!in_array($col, ['ID_Gasto', 'Periodo_Desde', 'Periodo_Hasta'])) {
|
|
$columnas[] = $col;
|
|
}
|
|
}
|
|
|
|
// Obtener el registro actual (donde Periodo_Hasta IS NULL)
|
|
$sql_actual = "SELECT * FROM gastos WHERE Periodo_Hasta IS NULL ORDER BY Periodo_Desde DESC LIMIT 1";
|
|
$result_actual = $conexion->query($sql_actual);
|
|
|
|
$gasto_actual = null;
|
|
if ($result_actual && $result_actual->num_rows > 0) {
|
|
$gasto_actual = $result_actual->fetch_assoc();
|
|
}
|
|
|
|
echo json_encode([
|
|
'success' => true,
|
|
'columnas' => $columnas,
|
|
'gasto' => $gasto_actual,
|
|
'message' => $gasto_actual ? 'Datos cargados' : 'No hay gastos registrados'
|
|
]);
|
|
|
|
} catch (Exception $e) {
|
|
echo json_encode([
|
|
'success' => false,
|
|
'message' => $e->getMessage()
|
|
]);
|
|
}
|
|
?>
|