<?php include 'conexion.php'; header('Content-Type: application/json'); if ($_SERVER['REQUEST_METHOD'] === 'GET') { // Verificar si es solicitud de concierto if (isset($_GET['id_concierto'])) { $idConcierto = intval($_GET['id_concierto']); // Obtener la información del concierto $consultaConcierto = "SELECT * FROM conciertos WHERE id_concierto = ?"; $stmt = $conexionBD->prepare($consultaConcierto); $stmt->bind_param("i", $idConcierto); $stmt->execute(); $resultadoConcierto = $stmt->get_result(); $concierto = $resultadoConcierto->fetch_assoc(); if (!$concierto) { echo json_encode(["error" => "Concierto no encontrado"]); exit; } // Obtener zonas del concierto $consultaZonas = "SELECT * FROM zonas WHERE id_concierto = ?"; $stmtZonas = $conexionBD->prepare($consultaZonas); $stmtZonas->bind_param("i", $idConcierto); $stmtZonas->execute(); $resultadoZonas = $stmtZonas->get_result(); $zonas = []; while ($zona = $resultadoZonas->fetch_assoc()) { // Contar asientos disponibles y ocupados $consultaAsientos = "SELECT estado FROM asientos WHERE id_zona = ?"; $stmtAsientos = $conexionBD->prepare($consultaAsientos); $stmtAsientos->bind_param("i", $zona['id_zona']); $stmtAsientos->execute(); $resultadoAsientos = $stmtAsientos->get_result(); $asientos_disponibles = 0; $asientos_ocupados = 0; while ($asiento = $resultadoAsientos->fetch_assoc()) { if ($asiento['estado'] === 'disponible') { $asientos_disponibles++; } else { $asientos_ocupados++; } } // Agregar datos de asientos a la zona $zona['asientos_disponibles'] = $asientos_disponibles; $zona['asientos_ocupados'] = $asientos_ocupados; $zonas[] = $zona; } // Agregar las zonas al concierto $concierto['zonas'] = $zonas; echo json_encode($concierto); exit; } // Verificar si es solicitud de zona if (isset($_GET['id_zona'])) { $idZona = intval($_GET['id_zona']); // Obtener la información de la zona específica $consultaZona = "SELECT * FROM zonas WHERE id_zona = ?"; $stmtZona = $conexionBD->prepare($consultaZona); $stmtZona->bind_param("i", $idZona); $stmtZona->execute(); $resultadoZona = $stmtZona->get_result(); $zona = $resultadoZona->fetch_assoc(); if (!$zona) { echo json_encode(["error" => "Zona no encontrada"]); exit; } // Obtener asientos de la zona $consultaAsientos = "SELECT estado FROM asientos WHERE id_zona = ?"; $stmtAsientos = $conexionBD->prepare($consultaAsientos); $stmtAsientos->bind_param("i", $idZona); $stmtAsientos->execute(); $resultadoAsientos = $stmtAsientos->get_result(); $asientos_disponibles = 0; $asientos_ocupados = 0; while ($asiento = $resultadoAsientos->fetch_assoc()) { if ($asiento['estado'] === 'disponible') { $asientos_disponibles++; } else { $asientos_ocupados++; } } // Agregar información de asientos a la zona $zona['asientos_disponibles'] = $asientos_disponibles; $zona['asientos_ocupados'] = $asientos_ocupados; echo json_encode($zona); exit; } echo json_encode(["error" => "Solicitud incorrecta"]); exit; } ?>