Actualizar Interfaz/control/vender_asientos.php
This commit is contained in:
parent
a47c35ffc7
commit
2da4802310
Interfaz/control
|
@ -1,47 +1,41 @@
|
||||||
<?php
|
<?php
|
||||||
require 'conexionbd.php';
|
require 'conexionbd.php';
|
||||||
|
|
||||||
$data = json_decode(file_get_contents('php://input'), true);
|
$data = json_decode(file_get_contents('php://input'), true);
|
||||||
$artista = $data['artista'] ?? '';
|
$artista = $data['artista'] ?? '';
|
||||||
$dia = $data['dia'] ?? '';
|
$dia = $data['dia'] ?? '';
|
||||||
$asientos = $data['asientos'] ?? [];
|
$asientos = $data['asientos'] ?? [];
|
||||||
|
|
||||||
if (empty($artista) || empty($dia) || empty($asientos)) {
|
if (empty($artista) || empty($dia) || empty($asientos)) {
|
||||||
die(json_encode(['error' => 'Faltan parámetros (artista, dia, asientos).']));
|
die(json_encode(['error' => 'Faltan parámetros (artista, dia, asientos).']));
|
||||||
}
|
}
|
||||||
|
|
||||||
try {
|
try {
|
||||||
// Iniciar una transacción
|
$conn->beginTransaction();
|
||||||
$conn->beginTransaction();
|
|
||||||
|
$stmtVenta = $conn->prepare("INSERT INTO ventas (asiento_id, precio) VALUES (:asiento_id, :precio)");
|
||||||
// Registrar la venta y actualizar el estado del asiento
|
$stmtAsiento = $conn->prepare("UPDATE asientos SET estado = 'vendido' WHERE id = :id");
|
||||||
$stmtVenta = $conn->prepare("INSERT INTO ventas (asiento_id, precio) VALUES (:asiento_id, :precio)");
|
|
||||||
$stmtAsiento = $conn->prepare("UPDATE asientos SET estado = 'vendido' WHERE id = :id");
|
foreach ($asientos as $asiento) {
|
||||||
|
$stmt = $conn->prepare("SELECT id, precio FROM asientos WHERE artista = :artista AND dia = :dia AND asiento = :asiento");
|
||||||
foreach ($asientos as $asiento) {
|
$stmt->execute([':artista' => $artista, ':dia' => $dia, ':asiento' => $asiento]);
|
||||||
// Obtener el ID y precio del asiento
|
$asientoData = $stmt->fetch(PDO::FETCH_ASSOC);
|
||||||
$stmt = $conn->prepare("SELECT id, precio FROM asientos WHERE artista = :artista AND dia = :dia AND asiento = :asiento");
|
|
||||||
$stmt->execute([':artista' => $artista, ':dia' => $dia, ':asiento' => $asiento]);
|
if ($asientoData) {
|
||||||
$asientoData = $stmt->fetch(PDO::FETCH_ASSOC);
|
$stmtVenta->execute([
|
||||||
|
':asiento_id' => $asientoData['id'],
|
||||||
if ($asientoData) {
|
':precio' => $asientoData['precio']
|
||||||
// Registrar la venta
|
]);
|
||||||
$stmtVenta->execute([
|
|
||||||
':asiento_id' => $asientoData['id'],
|
$stmtAsiento->execute([':id' => $asientoData['id']]);
|
||||||
':precio' => $asientoData['precio']
|
}
|
||||||
]);
|
}
|
||||||
|
|
||||||
// Marcar el asiento como vendido
|
// Confirmar la transacción
|
||||||
$stmtAsiento->execute([':id' => $asientoData['id']]);
|
$conn->commit();
|
||||||
}
|
echo json_encode(['success' => true, 'message' => 'Venta registrada correctamente.']);
|
||||||
}
|
} catch (PDOException $e) {
|
||||||
|
$conn->rollBack();
|
||||||
// Confirmar la transacción
|
die(json_encode(['error' => 'Error al registrar la venta: ' . $e->getMessage()]));
|
||||||
$conn->commit();
|
}
|
||||||
echo json_encode(['success' => true, 'message' => 'Venta registrada correctamente.']);
|
?>
|
||||||
} catch (PDOException $e) {
|
|
||||||
// Revertir la transacción en caso de error
|
|
||||||
$conn->rollBack();
|
|
||||||
die(json_encode(['error' => 'Error al registrar la venta: ' . $e->getMessage()]));
|
|
||||||
}
|
|
||||||
?>
|
|
Loading…
Reference in New Issue