<?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; ?>