Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| cbdbd8bc4b | |||
| befc6a7cc1 |
@@ -229,7 +229,13 @@ class Juego
|
||||
* - la respuesta pertenece a esa pregunta
|
||||
* - el usuario no ha respondido ya esa pregunta
|
||||
*/
|
||||
public static function registrarRespuesta($idPartida, $idUsuario, $idPartidaxPregunta, $idRespuesta)
|
||||
public static function registrarRespuesta(
|
||||
$idPartida,
|
||||
$idUsuario,
|
||||
$idPartidaxPregunta,
|
||||
$idRespuesta,
|
||||
$tiempoRespuesta
|
||||
)
|
||||
{
|
||||
$conexion = conexionBD();
|
||||
if (is_array($conexion)) {
|
||||
@@ -298,7 +304,8 @@ class Juego
|
||||
null,
|
||||
$idPartidaxPregunta,
|
||||
$idUsuario,
|
||||
$idRespuesta
|
||||
$idRespuesta,
|
||||
$tiempoRespuesta
|
||||
);
|
||||
$guardado = $almacenada->guardarRespuesta();
|
||||
|
||||
|
||||
@@ -24,6 +24,8 @@ class Respuesta{
|
||||
$consulta->bindParam(':idPregunta', $this->idPregunta);
|
||||
$consulta->bindParam(':nombreRespuesta', $this->nombreRespuesta);
|
||||
$consulta->bindParam(':correcta', $this->correcta);
|
||||
|
||||
|
||||
$consulta->execute();
|
||||
$respuesta = [
|
||||
'exito' => 'La respuesta se guardó correctamente.',
|
||||
|
||||
@@ -7,12 +7,14 @@ class RespuestaAlmacenada {
|
||||
public $idPartidaxPregunta;
|
||||
public $idUsuario;
|
||||
public $idRespuesta;
|
||||
public $tiempoRespuesta;
|
||||
|
||||
public function __construct($idRespuestaAlmacenada = null, $idPartidaxPregunta = null, $idUsuario = null, $idRespuesta = null) {
|
||||
public function __construct($idRespuestaAlmacenada = null, $idPartidaxPregunta = null, $idUsuario = null, $idRespuesta = null, $tiempoRespuesta = null) {
|
||||
$this->idRespuestaAlmacenada = $idRespuestaAlmacenada;
|
||||
$this->idPartidaxPregunta = $idPartidaxPregunta;
|
||||
$this->idUsuario = $idUsuario;
|
||||
$this->idRespuesta = $idRespuesta;
|
||||
$this->tiempoRespuesta = $tiempoRespuesta;
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -20,29 +22,37 @@ class RespuestaAlmacenada {
|
||||
*/
|
||||
public function guardarRespuesta() {
|
||||
$conexion = conexionBD();
|
||||
if (is_array($conexion)) return $conexion;
|
||||
|
||||
if (is_array($conexion)) {
|
||||
return $conexion;
|
||||
}
|
||||
|
||||
try {
|
||||
$sql = "INSERT INTO respuestaalmacenada (idPartidaxPregunta, idUsuario, idRespuesta)
|
||||
VALUES (:idPartidaxPregunta, :idUsuario, :idRespuesta)";
|
||||
$sql = "INSERT INTO respuestaalmacenada
|
||||
(idPartidaxPregunta, idUsuario, idRespuesta, tiempoRespuesta)
|
||||
VALUES
|
||||
(:idPartidaxPregunta, :idUsuario, :idRespuesta, :tiempoRespuesta)";
|
||||
|
||||
$consulta = $conexion->prepare($sql);
|
||||
|
||||
$consulta->bindParam(':idPartidaxPregunta', $this->idPartidaxPregunta);
|
||||
$consulta->bindParam(':idUsuario', $this->idUsuario);
|
||||
$consulta->bindParam(':idRespuesta', $this->idRespuesta);
|
||||
$consulta->bindParam(':tiempoRespuesta', $this->tiempoRespuesta);
|
||||
|
||||
$consulta->execute();
|
||||
|
||||
return [
|
||||
'exito' => 'Respuesta del usuario almacenada correctamente.',
|
||||
'exito_tecnico' => $conexion->lastInsertId()
|
||||
'exito' => 'Respuesta almacenada correctamente.'
|
||||
];
|
||||
|
||||
} catch (PDOException $error) {
|
||||
return [
|
||||
'error' => 'Ocurrió un error al guardar la respuesta del jugador.',
|
||||
'error' => 'Ocurrió un error al guardar la respuesta.',
|
||||
'error_tecnico' => $error->getMessage()
|
||||
];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Obtiene los aciertos totales de un usuario en una partida específica.
|
||||
|
||||
@@ -74,7 +74,11 @@ switch ($orden) {
|
||||
|
||||
case 'responder':
|
||||
|
||||
if (!isset($_POST['idPartidaxPregunta']) || !isset($_POST['idRespuesta'])){
|
||||
if (
|
||||
!isset($_POST['idPartidaxPregunta']) ||
|
||||
!isset($_POST['idRespuesta']) ||
|
||||
!isset($_POST['tiempoRespuesta'])
|
||||
) {
|
||||
echo json_encode([
|
||||
'error' => 'Faltan datos para registrar la respuesta.'
|
||||
]);
|
||||
@@ -83,11 +87,14 @@ switch ($orden) {
|
||||
}
|
||||
|
||||
$idPartidaxPregunta = intval($_POST['idPartidaxPregunta']);
|
||||
|
||||
$idRespuesta = intval($_POST['idRespuesta']);
|
||||
$tiempoRespuesta = intval($_POST['tiempoRespuesta']);
|
||||
|
||||
if ($idPartidaxPregunta <= 0 || $idRespuesta <= 0){
|
||||
|
||||
if (
|
||||
$idPartidaxPregunta <= 0 ||
|
||||
$idRespuesta <= 0 ||
|
||||
$tiempoRespuesta < 0
|
||||
) {
|
||||
echo json_encode([
|
||||
'error' => 'Los datos de la respuesta no son válidos.'
|
||||
]);
|
||||
@@ -95,13 +102,19 @@ switch ($orden) {
|
||||
break;
|
||||
}
|
||||
|
||||
// Registramos la respuesta del usuario
|
||||
// Registramos la respuesta del usuario junto con su tiempo de respuesta
|
||||
|
||||
$resultado = Juego::registrarRespuesta($idPartida, $idUsuario, $idPartidaxPregunta, $idRespuesta);
|
||||
$resultado = Juego::registrarRespuesta(
|
||||
$idPartida,
|
||||
$idUsuario,
|
||||
$idPartidaxPregunta,
|
||||
$idRespuesta,
|
||||
$tiempoRespuesta
|
||||
);
|
||||
|
||||
echo json_encode($resultado);
|
||||
|
||||
break;
|
||||
break;
|
||||
|
||||
// Finalizar la partida y registrar los aciertos del usuario
|
||||
|
||||
|
||||
Reference in New Issue
Block a user