<?php
// Incluir archivo de conexión
include 'conexion.php';

// Definir variables
$juegos = array(); // Array para almacenar los juegos obtenidos de la base de datos

// Consulta para obtener todos los juegos de tblentjgo
$consulta_juegos = "SELECT idnentjgo, tblnomjgo FROM tblentjgo ORDER BY idnentjgo DESC";

// Ejecutar consulta
$resultado = mysqli_query($conexion, $consulta_juegos);

// Verificar si la consulta fue exitosa
if ($resultado) {
    // Almacenar juegos en un array
    while ($fila = mysqli_fetch_assoc($resultado)) {
        $juegos[] = $fila;
    }
} else {
    echo "Error al consultar juegos: " . mysqli_error($conexion);
}

// Verificar si se ha enviado el formulario
$tabla_resultados = '';
if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST['nombre_juego'])) {
    $idnentjgo_seleccionado = $_POST['nombre_juego'];

    // Consulta para obtener el nombre del juego seleccionado
    $consulta_nombre_juego = "SELECT tblnomjgo FROM tblentjgo WHERE idnentjgo = $idnentjgo_seleccionado";
    $resultado_nombre = mysqli_query($conexion, $consulta_nombre_juego);
    $nombre_juego_seleccionado = '';

    if ($resultado_nombre) {
        $fila_nombre = mysqli_fetch_assoc($resultado_nombre);
        $nombre_juego_seleccionado = htmlspecialchars($fila_nombre['tblnomjgo']);
    } else {
        echo "Error al obtener el nombre del juego: " . mysqli_error($conexion);
    }

    // Consulta para obtener los resultados de reljgousu para el juego seleccionado
    $consulta_resultados = "
        SELECT r.idnentjgo, CONCAT(a.nombre, ' ', a.apellidos) AS nombre_completo, r.jgousupts 
        FROM reljgousu r 
        JOIN accounts a ON r.idnentusu = a.id 
        WHERE r.idnentjgo = $idnentjgo_seleccionado
    ";
    $resultado = mysqli_query($conexion, $consulta_resultados);

    if ($resultado) {
        // Crear arrays para almacenar los resultados por jugador
        $resultados_por_jugador = array();
        $suma_puntos = array(); // Array para almacenar las sumas de puntos por jugador

        // Almacenar los resultados en el array
        while ($fila = mysqli_fetch_assoc($resultado)) {
            $nombre_completo = htmlspecialchars($fila['nombre_completo']);
            if (!isset($resultados_por_jugador[$nombre_completo])) {
                $resultados_por_jugador[$nombre_completo] = array();
                $suma_puntos[$nombre_completo] = 0; // Inicializar suma
            }
            $resultados_por_jugador[$nombre_completo][] = $fila['jgousupts'];
            $suma_puntos[$nombre_completo] += $fila['jgousupts']; // Sumar puntos
        }

        // Identificar al jugador con la menor suma de puntos
        $nombre_ganador = null;
        $min_puntos = PHP_INT_MAX; // Inicializar con el valor máximo posible

        foreach ($suma_puntos as $nombre => $suma) {
            if ($suma < $min_puntos) {
                $min_puntos = $suma;
                $nombre_ganador = $nombre;
            }
        }

        // Crear la tabla HTML para mostrar los resultados en formato horizontal
        $tabla_resultados .= '<table border="1">';
        $tabla_resultados .= '<thead>';
        $tabla_resultados .= '<tr><th colspan="' . count($resultados_por_jugador) . '">' . $nombre_juego_seleccionado . '</th></tr>'; // Agregar nombre del juego
        $tabla_resultados .= '<tr>';
        foreach (array_keys($resultados_por_jugador) as $nombre) {
            $tabla_resultados .= '<th>' . $nombre . '</th>';
        }
        $tabla_resultados .= '</tr>';
        $tabla_resultados .= '</thead>';
        $tabla_resultados .= '<tbody>';
        // Determinar la cantidad máxima de puntos para iterar
        $max_puntos = max(array_map('count', $resultados_por_jugador));
        for ($i = 0; $i < $max_puntos; $i++) {
            $tabla_resultados .= '<tr>';
            foreach ($resultados_por_jugador as $puntos) {
                $tabla_resultados .= '<td>' . (isset($puntos[$i]) ? $puntos[$i] : '') . '</td>';
            }
            $tabla_resultados .= '</tr>';
        }
        // Agregar fila de sumas
        $tabla_resultados .= '<tr>';
        foreach ($suma_puntos as $nombre => $suma) {
            if ($nombre == $nombre_ganador) {
                $tabla_resultados .= '<td style="color: blue; font-weight: bold;">Ganador: ' . $suma . '</td>';
            } else {
                $tabla_resultados .= '<td><strong>Total: ' . $suma . '</strong></td>';
            }
        }
        $tabla_resultados .= '</tr>';
        $tabla_resultados .= '</tbody>';
        $tabla_resultados .= '</table>';
    } else {
        $tabla_resultados = 'Error al consultar los resultados: ' . mysqli_error($conexion);
    }

    // Liberar resultado
    mysqli_free_result($resultado);
}

// Cerrar conexión a la base de datos
mysqli_close($conexion);
?>

<!DOCTYPE html>
<html lang="es">
<head>
    <meta charset="UTF-8">
    <title>Consultar Juego</title>
    <script>
        function enviarFormulario() {
            document.getElementById('formulario').submit();
        }
    </script>
</head>
<body>
    <h2>Consultar Juego</h2>
    <form id="formulario" method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>">
        <label for="nombre_juego">Nombre del Juego:</label>
        <select id="nombre_juego" name="nombre_juego" onchange="enviarFormulario()">
            <option value="">Selecciona un juego</option>
            <?php foreach ($juegos as $juego): ?>
                <option value="<?php echo $juego['idnentjgo']; ?>"><?php echo htmlspecialchars($juego['idnentjgo'] . ' ' . $juego['tblnomjgo']); ?></option>
            <?php endforeach; ?>
        </select>
    </form>

    <div id="tabla_resultados">
        <?php echo $tabla_resultados; ?>
    </div>
</body>
</html>
