P
punteral
Beta
Verificado por Whatsapp
¡Usuario con pocos negocios! ¡Utiliza siempre saldo de Forobeta!
¿Por qué no calculas las estadísticas de forma individual, cada cierto tiempo?
Si, la primera actualización será algo larga y tediosa. Pero después sólo tendrías que realizar "microactualizaciones". Actualizar a partir del último punto ya actualizado (inserta un campo que controle la fecha del último registro, para no duplicarlos; o algún método similar), y sólo tendrás que "trabajar" con regularidad para mantener la BD actualizada.
Un saludo.
$sql = "SELECT * FROM `partidos` ORDER BY `fecha_partido` ASC";
$result = mysql_query($sql);
while($row = mysql_fetch_array($result))
{
if ($row['juegos_local'] > $row['juegos_visitante']){
$punt_jug[$row['id_jugador_local']] = $punt_jug[$row['id_jugador_local']] + 3;
} else {
$punt_jug[$row['id_jugador_visitante']] = $punt_jug[$row['id_jugador_visitante']] + 3;
}
}
No se Como es la puntuación en tenis pero por lo que comentas estas bien encaminado supongo que la id del jugador local y visitante son las de la tabla de jugadores. Entonces podrías crear una nueva tabla de puntuaciones donde pondrás la id del jugador y el puntaje. Entonces cada resultado que cargos debes hacer una consulta del tipo si id jugador local gana entonces en la tabla de puntuaciones buscas la id de jugador local y le sumas 3 a su puntuación, si id jugador visitante ganó le sumas 3 a ese jugador en su resultado. Para mostrar el renting ordenas de mayor a menor por resultados y muestras el total, con la id de jugador puedes mostrar nombres y otros datos. Estoy en el teléfono si quieres pasame algún código por mi o por aquí y en la mañana te doy una mano
La consulta SQL sería algo como
SELECT *, (SELECT count(*) FROM TABLAPARTIDOS WHERE (id_jugador_local= TABLAJUGADORES.ID AND juegos_local > juegos_visitante) OR (id_jugador_visitante = TABLAJUGADORES.ID AND juegos_visitante > juegos_local)) AS PartidosGanados FROM TABLAJUGADORES
Eso debería devolver, en caso de ejecutar el "Mysqlfetcharray" un array con todos los datos de la tabla original y, además, un campo(o key) extra llamado "PartidosGanados" (No dará 3 puntos, pero puedes multiplicarlo por 3 si así lo deseas, no conozco bien como funciona el ranking en tenis)
La verdad no lo he probado, pero teóricamente debería funcionar
Warning: mysql_fetch_array() expects parameter 1 to be resource, boolean given in C:\xampp\htdocs\Proyectos\Ranking Tenis\Clasificacion_general_codigo.php on line 33
<?php
include ("includes/conexion.php");
$sql = "SELECT *, (SELECT count(*) FROM partidos WHERE (id_jugador_local= fichas_jugadores.ID_Jugador AND juegos_local > juegos_visitante) OR (id_jugador_visitante = fichas_jugadores.ID_Jugador AND juegos_visitante > juegos_local)) AS PartidosGanados FROM TABLAJUGADORES";
$result = mysql_query($sql);
echo "<table>";
echo "<tr>";//<tr>
echo "<td>POSICIÓN</td>";//<td>
echo "<td>ID</td>";
echo "<td>NOMBRE</td>";
echo "<td>APELLIDO 1</td>";
echo "<td>APELLIDO 2</td>";
echo "<td>PUNTOS</td>";
echo "<td>TEL</td>";
echo "<td>Nacimiento</td>";
echo "<td>Altura</td>";
echo "<td>Ganados</td>";
echo "</tr>";
$i=0;
while($row = mysql_fetch_array($result)) {
$i++;
echo "<tr>";
echo "<td>".$row[0]."</td>";
echo "<td>".$row[1]."</td>";
echo "<td>".$row[2]."</td>";
echo "<td>".$row[3]."</td>";
echo "<td>".$row[4]."</td>";
echo "<td>".$row[5]."</td>";
echo "<td>".$row[6]."</td>";
echo "<td>".$row[7]."</td>";
echo "<td>".$row[8]."</td>";
echo "<td>".$row[9]."</td>";
echo "</tr>";
}
echo "</table>";
mysql_close($link);
?>
while($row = mysql_fetch_array($result)) {
$sql = "SELECT * FROM `partidos` ORDER BY `fecha_partido` ASC";
$result = mysql_query($sql);
while($row = mysql_fetch_array($result))
if (empty($punt_jug[$row['id_jugador_local']])){
$punt_jug[$row['id_jugador_local']] = 0;
}
if (empty($punt_jug[$row['id_jugador_visitante']])){
$punt_jug[$row['id_jugador_visitante']] = 0;
}
if ($row['juegos_local'] > $row['juegos_visitante']){
$punt_jug[$row['id_jugador_local']] = $punt_jug[$row['id_jugador_local']] + 3;
} else {
$punt_jug[$row['id_jugador_visitante']] = $punt_jug[$row['id_jugador_visitante']] + 3;
$sql = "SELECT * FROM `partidos` ORDER BY `fecha_partido` ASC";
$result = mysql_query($sql);
while($row = mysql_fetch_array($result))
{
if (empty($punt_jug[$row['id_jugador_local']])){
$punt_jug[$row['id_jugador_local']] = 0;
}
if (empty($punt_jug[$row['id_jugador_visitante']])){
$punt_jug[$row['id_jugador_visitante']] = 0;
}
if ($row['juegos_local'] > $row['juegos_visitante']){
$punt_jug[$row['id_jugador_local']] = $punt_jug[$row['id_jugador_local']] + 3;
} else {
$punt_jug[$row['id_jugador_visitante']] = $punt_jug[$row['id_jugador_visitante']] + 3;
}
}
while($row = mysql_fetch_array($result)) {
$i++;
echo "<tr>";
echo "<td>".$i."</td>";
echo "<td>".$row[0]."</td>";
echo "<td>".$row[1]."</td>";
echo "<td>".$row[2]."</td>";
echo "<td>".$row[3]."</td>";
echo "<td>".$row[4]."</td>";
echo "<td>".$row[5]."</td>";
echo "<td>".$row[6]."</td>";
echo "<td>".$row[7]."</td>";
echo "</tr>";
}
Utilizamos cookies y tecnologías similares para los siguientes fines:
¿Aceptas las cookies y estas tecnologías?
Utilizamos cookies y tecnologías similares para los siguientes fines:
¿Aceptas las cookies y estas tecnologías?