69 lines
2.1 KiB
PHP
69 lines
2.1 KiB
PHP
<?php
|
|
|
|
include 'conexion.php'; // Conexión existente
|
|
|
|
// Verificar si se proporciona una fecha en la solicitud
|
|
$fecha = isset($_GET['fecha']) ? $_GET['fecha'] : date("Y-m-d");
|
|
|
|
// Consulta para verificar si existen ventas en la fecha seleccionada
|
|
$sql_verificar = "SELECT COUNT(*) AS total FROM ventas WHERE DATE(fecha_venta) = ?";
|
|
$stmt_verificar = $conexionBD->prepare($sql_verificar);
|
|
$stmt_verificar->bind_param("s", $fecha);
|
|
$stmt_verificar->execute();
|
|
$result_verificar = $stmt_verificar->get_result();
|
|
$row_verificar = $result_verificar->fetch_assoc();
|
|
$stmt_verificar->close();
|
|
|
|
// Si no hay ventas, devolver un mensaje vacío
|
|
if ($row_verificar['total'] == 0) {
|
|
echo json_encode([]);
|
|
exit;
|
|
}
|
|
|
|
// Consulta principal para obtener ventas por concierto
|
|
$sql = "SELECT c.nombre_concierto, v.fecha_venta, COUNT(v.id_venta) AS boletos_vendidos, SUM(b.precio) AS total_ganado, v.id_concierto
|
|
FROM ventas v
|
|
JOIN boletos b ON v.id_boleto = b.id_boleto
|
|
JOIN conciertos c ON v.id_concierto = c.id_concierto
|
|
WHERE DATE(v.fecha_venta) = ?
|
|
GROUP BY c.nombre_concierto, v.fecha_venta, v.id_concierto";
|
|
|
|
$stmt = $conexionBD->prepare($sql);
|
|
$stmt->bind_param("s", $fecha);
|
|
$stmt->execute();
|
|
$result = $stmt->get_result();
|
|
$data = [];
|
|
|
|
while ($row = $result->fetch_assoc()) {
|
|
$id_concierto = $row['id_concierto'];
|
|
|
|
// Consulta para obtener los boletos vendidos por zona
|
|
$sql_zonas = "SELECT z.nombre_zona, COUNT(b.id_boleto) AS boletos_vendidos
|
|
FROM boletos b
|
|
JOIN zonas z ON b.id_zona = z.id_zona
|
|
WHERE b.id_concierto = ?
|
|
GROUP BY z.nombre_zona";
|
|
|
|
$stmt_zonas = $conexionBD->prepare($sql_zonas);
|
|
$stmt_zonas->bind_param("i", $id_concierto);
|
|
$stmt_zonas->execute();
|
|
$result_zonas = $stmt_zonas->get_result();
|
|
|
|
$zonas = [];
|
|
while ($zona = $result_zonas->fetch_assoc()) {
|
|
$zonas[] = $zona;
|
|
}
|
|
|
|
$row['zonas'] = $zonas;
|
|
$data[] = $row;
|
|
}
|
|
|
|
// Cerrar consultas
|
|
$stmt->close();
|
|
$stmt_zonas->close();
|
|
|
|
// Enviar la respuesta en formato JSON
|
|
echo json_encode($data);
|
|
exit;
|
|
?>
|