<?php header("Content-Type: application/json"); error_reporting(E_ALL); ini_set('display_errors', 1); require_once "conexion-bd.php"; if (!isset($_GET['id']) || !is_numeric($_GET['id'])) { echo json_encode(["error" => "No se especificó una compra válida."]); exit(); } $id_compra = intval($_GET['id']); $sql = "SELECT ventas.id, conciertos.artista, conciertos.fecha, lugares.nombre AS lugar, ventas.cantidad, ventas.total, conciertos.precio FROM ventas JOIN conciertos ON ventas.evento_id = conciertos.id JOIN lugares ON conciertos.lugar_id = lugares.id WHERE ventas.id = ?"; $stmt = $conn->prepare($sql); $stmt->bind_param("i", $id_compra); $stmt->execute(); $result = $stmt->get_result(); if ($result->num_rows === 0) { echo json_encode(["error" => "La compra no existe."]); exit(); } $compra = $result->fetch_assoc(); $check_table = $conn->query("SHOW TABLES LIKE 'ventas_asientos'"); if ($check_table->num_rows === 0) { echo json_encode(["error" => "Error: La tabla de asientos vendidos no está creada."]); exit(); } $sql_asientos = "SELECT numero_asiento FROM asientos WHERE id IN (SELECT asiento_id FROM ventas_asientos WHERE venta_id = ?)"; $stmt_asientos = $conn->prepare($sql_asientos); $stmt_asientos->bind_param("i", $id_compra); $stmt_asientos->execute(); $result_asientos = $stmt_asientos->get_result(); $asientos = []; while ($row = $result_asientos->fetch_assoc()) { $asientos[] = $row['numero_asiento']; } echo json_encode([ "artista" => $compra['artista'], "fecha" => date("d M Y - H:i", strtotime($compra['fecha'])), "lugar" => $compra['lugar'], "cantidad" => $compra['cantidad'], "precio" => number_format($compra['precio'], 2), "total" => number_format($compra['total'], 2), "asientos" => $asientos ], JSON_UNESCAPED_UNICODE); $stmt->close(); $stmt_asientos->close(); $conn->close(); ?>