// --------------- PARA CUANDO NECESITO TRANSACCIONES ----------------------------------------------- function begin_transaction() { mysql_query("START TRANSACTION"); //mysql_query("SET AUTOCOMMIT=0"); //mysql_query("BEGIN"); } function rollback_transaction($mensaje = "") { $str = ""; $mysql_error = mysql_error(); mysql_query("ROLLBACK"); $str= "$mensaje
Transaccion abortada debido a un error: $mysql_error
"; die("$str"); } function commit_transaction() { mysql_query("COMMIT"); } // ---------------- INSERTA O MODIFICA RESERVAS ---------------------------------------------------------------------------------------------------------------------- function inserta_modifica_reserva($id_reserva, $id_estado_reserva, $id_cliente, $fecha, $cubiertos, $turno, $descuento, $observacion, $horario, $mesas, $id_usuario) { begin_transaction(); if ($id_reserva==0) { $consulta = "INSERT INTO reservas (id_estado_reserva, id_cliente, fecha, cubiertos, turno, descuento, observacion, horario, id_usuario) VALUES ($id_estado_reserva, $id_cliente, '$fecha', $cubiertos, $turno, $descuento, '$observacion', '$horario',$id_usuario)"; if (!mysql_query($consulta)) rollback_transaction("Problemas al Insertar Reserva"); $id_reserva = mysql_insert_id(); } else { $consulta = "UPDATE reservas SET id_estado_reserva=$id_estado_reserva, id_cliente=$id_cliente, fecha='$fecha', cubiertos=$cubiertos, turno=$turno, descuento=$descuento, observacion='$observacion', horario='$horario' WHERE id_reserva=$id_reserva"; if (!mysql_query($consulta)) rollback_transaction("Problemas al Actualizar Reserva"); $consulta = "DELETE FROM reservas_mesas WHERE id_reserva=$id_reserva"; if (!mysql_query($consulta)) rollback_transaction("Problemas al Modificar(Desocupar) Mesas."); } if (count($mesas)>0) foreach($mesas as $mesa) { $consulta = "INSERT INTO reservas_mesas VALUES ($id_reserva,$mesa)"; if (!mysql_query($consulta)) rollback_transaction("Problemas al Modificar(Ocupar) Mesas."); } commit_transaction(); }