From b22f3021f0e7252c3d895164b926fec565ece269 Mon Sep 17 00:00:00 2001 From: dbvictor2002 Date: Tue, 29 Sep 2026 13:16:17 +0200 Subject: [PATCH] Subir archivos a "/" --- resultados.php | 445 +++++++++++++++++-------------------------------- 1 file changed, 155 insertions(+), 290 deletions(-) diff --git a/resultados.php b/resultados.php index d15f529..3cf48c6 100644 --- a/resultados.php +++ b/resultados.php @@ -1,291 +1,156 @@ - - - - - - - - Trivial - Resultado final - - - - - - - - - - - - - - - - - -
- - -
- -
- -
- -

- ¡Trivial terminado! -

- -

- Estos son los resultados finales -

- -
- - - -
- -
- -
- -
- - Equipo ganador -
- -
- -

- Los Cerebritos -

- -
- 850 - - puntos - -
- -

- - ¡Enhorabuena por la victoria! -

- -
- -
- -
- -
- - - -
- - -
- -
- -
- - - Los Cerebritos - - - - - - -
- -
- -
- -
- 850 -
- -
- puntos -
- -
- -
- - Jugadores -
- -
    - -
  • - 1. Carlos -
  • - -
  • - 2. Marta -
  • - -
  • - 3. Pablo -
  • - -
  • - 4. Laura -
  • - -
  • - 5. David -
  • - -
  • - 6. Ana -
  • - -
  • - 7. Sergio -
  • - -
  • - 8. Lucía -
  • - -
  • - 9. Miguel -
  • - -
  • - 10. Elena -
  • - -
- -
- -
- -
- - - -
- -
- - -
- - - Los Campeones - - - - - - -
- -
- -
- -
- 720 -
- -
- puntos -
- -
- -
- - Jugadores -
- -
    - -
  • - 1. Javier -
  • - -
  • - 2. Sofía -
  • - -
  • - 3. Diego -
  • - -
  • - 4. María -
  • - -
  • - 5. Alejandro -
  • - -
  • - 6. Paula -
  • - -
  • - 7. Álvaro -
  • - -
  • - 8. Carmen -
  • - -
- -
- -
- -
- -
- - - - - -
- - - - - - +prepare(" + SELECT u.idUsuario, u.nombreUsuario, e.idEquipo, e.nombreEquipo + FROM equipoxpartida exp + INNER JOIN equipoxusuario exu ON exp.idEquipo = exu.idEquipo + INNER JOIN usuario u ON exu.idUsuario = u.idUsuario + INNER JOIN equipo e ON exu.idEquipo = e.idEquipo + WHERE exp.idPartida = :idPartida +"); +$stmt->execute([':idPartida' => $idPartida]); +$listaJugadoresRaw = $stmt->fetchAll(PDO::FETCH_ASSOC); + +$primerosEnAcertar = $_SESSION['primeros_en_acertar'][$idPartida] ?? []; + +$jugadoresFinales = []; +$equiposFinales = []; + +// Respuestas de velocidad (+2 o +1) +foreach ($listaJugadoresRaw as $jugador) { + $idU = (int)$jugador['idUsuario']; + $idE = (int)$jugador['idEquipo']; + + $stmtRespuestas = $conexion->prepare(" + SELECT ra.idPartidaxPregunta, r.correcta + FROM respuestaalmacenada ra + INNER JOIN respuesta r ON ra.idRespuesta = r.idRespuesta + INNER JOIN partidaxpregunta pxp ON ra.idPartidaxPregunta = pxp.idPartidaxPregunta + WHERE pxp.idPartida = :idPartida AND ra.idUsuario = :idUsuario + "); + $stmtRespuestas->execute([':idPartida' => $idPartida, ':idUsuario' => $idU]); + $respuestasUsuario = $stmtRespuestas->fetchAll(PDO::FETCH_ASSOC); + + $aciertos = 0; + $puntosTotalesJugador = 0; + + foreach ($respuestasUsuario as $resp) { + if ((int)$resp['correcta'] === 1) { + $aciertos++; + $idPxp = $resp['idPartidaxPregunta']; + + // Si el ID de usuario coincide con el primero guardado de esa pregunta se lleva 2 puntos + if (isset($primerosEnAcertar[$idPxp]) && $primerosEnAcertar[$idPxp] === $idU) { + $puntosTotalesJugador += 2; + } else { + $puntosTotalesJugador += 1; + } + } + } + + $jugadoresFinales[] = [ + 'nombre' => $jugador['nombreUsuario'], + 'equipo' => $jugador['nombreEquipo'], + 'aciertos' => $aciertos, + 'puntos' => $puntosTotalesJugador + ]; + + if (!isset($equiposFinales[$idE])) { + $equiposFinales[$idE] = [ + 'nombre' => $jugador['nombreEquipo'], + 'puntos' => 0 + ]; + } + $equiposFinales[$idE]['puntos'] += $puntosTotalesJugador; +} + +// Ordenar según la puntuación final de mayor a menor +usort($jugadoresFinales, function($a, $b) { return $b['puntos'] <=> $a['puntos']; }); +usort($equiposFinales, function($a, $b) { return $b['puntos'] <=> $a['puntos']; }); +?> + + + + + + + Resultados - Trivial + + + + + +
+

⌛ Esperando a que todos los jugadores terminen...

+

Calculando estadísticas de velocidad y actualizando perfiles históricos en el servidor.

+
+
+ + + + + \ No newline at end of file