From 04fe80946f5568b8c29a5b51fc50220c19e06bbd Mon Sep 17 00:00:00 2001 From: marga Date: Tue, 29 Sep 2026 11:06:35 +0200 Subject: [PATCH] =?UTF-8?q?a=C3=B1adir=20funcion=20iniciar=20y=20finalizar?= =?UTF-8?q?=20en=20la=20ClasePartida?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- clases/ClasePartida.php | 65 ++++++++++++++++++++++++++++++++++++----- 1 file changed, 58 insertions(+), 7 deletions(-) diff --git a/clases/ClasePartida.php b/clases/ClasePartida.php index b765afe..f9e9437 100644 --- a/clases/ClasePartida.php +++ b/clases/ClasePartida.php @@ -142,10 +142,63 @@ class Partida } } - /** - * Devuelve las preguntas asignadas a la partida, junto con el - * idPartidaxPregunta (necesario para guardar respuestas después). - */ + public function iniciar() + { + $conexion = conexionBD(); + if (is_array($conexion)) { + return $conexion; + } + try { + $consulta = $conexion->prepare(" + UPDATE partida + SET fechaInicio = NOW() + WHERE idPartida = :idPartida + AND fechaInicio IS NULL + "); + $consulta->bindParam(":idPartida", $this->idPartida); + $consulta->execute(); + return [ + "exito" => "La partida se inició correctamente.", + "exito_tecnico" => $this->idPartida + ]; + } catch (PDOException $error) { + return [ + "error" => "No se pudo iniciar la partida.", + 'error_tecnico' => $error->getMessage() + ]; + } + } + + + public function finalizar() + { + $conexion = conexionBD(); + if (is_array($conexion)) { + return $conexion; + } + try { + $consulta = $conexion->prepare(" + UPDATE partida + SET fechaFin = NOW() + WHERE idPartida = :idPartida + AND fechaInicio IS NOT NULL + AND fechaFin IS NULL + "); + $consulta->bindParam(":idPartida", $this->idPartida); + $consulta->execute(); + return [ + "exito" => "La partida se finalizó correctamente.", + "exito_tecnico" => $this->idPartida + ]; + } catch (PDOException $error) { + return [ + "error" => "No se pudo finalizar la partida.", + 'error_tecnico' => $error->getMessage() + ]; + } + } + + public function getPreguntas() { $conexion = conexionBD(); @@ -174,9 +227,7 @@ class Partida } } - /** - * Asocia una pregunta ya existente a esta partida. - */ + public function asignarPregunta($idPregunta) { $conexion = conexionBD(); -- 2.47.3