Ver Mensaje Individual
  #1 (permalink)  
Antiguo 09/11/2015, 10:23
loganaxo
 
Fecha de Ingreso: noviembre-2015
Ubicación: Murcia
Mensajes: 17
Antigüedad: 8 años, 6 meses
Puntos: 0
Actualizar clasificacion BBDD con PHP

Buenas a todos

Tengo una BBDD de una liga de tenis.
Quiero buscar por cada socio todos los partidos jugados con resultado, saber si ha ganado o no y por cuanto y luego despues hacer un update para que se actualice el usuario y sus puntos, juegos y demás para todos los socios de la liga.
En definitiva, quiero que me recalcule toda la BBDD con los partidos que han jugado.

Ejemplo

1. Real Madrid 3 - 3 Barcelona
2. Real Madrid 0 - 5 Sporting
3. Barcelona 3 - 1 Sporting

Resultado

Real Madrid Ganados: 0 Empates: 1 Perdidos: 1 Puntos: 1 GF: 3 GC: 8 DG: -5
Sporting Ganados: 1 Empates: 0 Perdidos: 1 Puntos: 3 GF: 6 GC: 3 DG: 3
Barcelona Ganados: 1 Empates: 1 Perdidos: 0 Puntos: 4 GF: 6 GC: 4 DG: 2

Y despues, actualizar toda la BBDD de cada equipo.




Pego el codigo que estoy haciendo y que no me da resultado

Gracias de antemano

Código:
<?php

$host="xxxxx"; // Host name 
$username="xxxxx"; // Mysql username 
$password="xxxxx"; // Mysql password 
$db_name="xxxxx"; // Database name 
$tbl_name="xxxxx"; // Table name

if(isset($_POST['submit'])){

// Connect to server and select databse.
mysql_connect("$host", "$username", "$password")or die("No se puede conectar al servidor"); 
mysql_select_db("$db_name")or die("No se puede conectar a la base de datos");

$sql1 = mysql_query("SELECT n_socio FROM users");
$result1 = mysql_query($sql1) or die (mysql_error());

    if (mysql_num_rows($result1) > 0) {
   
	 while ($fila = mysql_fetch_array($result1)) {

         $numerodesocio = 0;
	 $numerodesocio = $fila['n_socio'];   
         $sql2="SELECT * FROM partidos WHERE juegoslocal !=  '' AND (local = '".$numerodesocio."' OR visitante = '".$numerodesocio."')";
	 $result2=mysql_query($sql2) or die (mysql_error());
	 
	 if (mysql_num_rows($result2) > 0) {
		 
		$partidosganados = 0;
		$partidosperdidos = 0;
		$wofavor = 0;
                $wocontra = 0;
                $juegosfavor = 0;
                $juegoscontra = 0;
                $diferenciajuegos = 0;
                $puntos = 0;
		   
		while ($fila2 = mysql_fetch_array($result2)) { 

                        $local = $fila2['local'];
                        $visitante = $fila2['visitante'];

			if (($local == $numerodesocio) AND (juegoslocal == WO)){
				
				$puntos = $puntos + 3;
				$juegosfavor = $juegosfavor + 8;
				$wofavor = $wofavor + 1;
	
			}else if (($local == $numerodesocio) AND (juegosvisitante == WO)){
				$juegoscontra = $juegoscontra + 8;
				$wocontra = $wocontra + 1;
	
			}else if (($local == $numerodesocio) AND (juegoslocal > juegosvisitante)){
				$puntos = $puntos + 3;
				 $juegosfavor = $juegosfavor + juegoslocal;
				 $juegoscontra = $juegoscontra + juegosvisitante;
				$partidosganados = $partidosganados + 1;
	
			}else if (($local == $numerodesocio) AND (juegoslocal < juegosvisitante)){		
				 $puntos = $puntos + 1;
				 $juegosfavor = $juegosfavor + juegoslocal;
				 $juegoscontra = $juegoscontra + juegosvisitante;
				 $partidosperdidos = $partidosperdidos + 1;

			}else if (($visitante == $numerodesocio) AND (juegosvisitante == WO)){
				 $puntos = $puntos + 3;
				 $juegosfavor = $juegosfavor + 8;
				 $wofavor = $wofavor + 1;
		
			}else if (($visitante == $numerodesocio) AND (juegoslocal == WO)){
				 $juegoscontra = juegoscontra + 8;
				 $wocontra = $wocontra + 1;
		
			}else if (($visitante == $numerodesocio) AND (juegosvisitante > juegoslocal)){
				 $puntos = $puntos + 3;
				 $juegosfavor = $juegosfavor + juegosvisitante;
				 $juegoscontra = $juegoscontra + juegoslocal;
				 $partidosganados = $partidosganados + 1;
		
			}else if (($visitante == $numerodesocio) AND (juegosvisitante < juegoslocal)){		
				 $puntos = $puntos + 1;
				 $juegosfavor = $juegosfavor + juegosvisitante;
				 $juegoscontra = $juegoscontra + juegoslocal;
				 $partidosperdidos = $partidosperdidos + 1;
			}
		
		}
         }
       
         $diferenciajuegos = $juegosfavor - $juegoscontra; 
         
         $sql3 = " UPDATE users SET ";
         $sql3 .= " puntos = '".$puntos."',";
         $sql3 .= " juegosfavor = '".$juegosfavor."',";
         $sql3 .= " juegoscontra = '".$juegoscontra."',";
         $sql3 .= " diferenciajuegos= '".$diferenciajuegos"',";
         $sql3 .= " partidosperdidos = '".$partidosperdidos."',";
         $sql3 .= " partidosganados = '".$partidosganados."',";
         $sql3 .= " wofavor = '".$wofavor."',";
         $sql3 .= " wocontra = '".$wocontra."'";
         $sql3 .= " WHERE n_socio = '".$numerodesocio."'";
         $resultado3 = mysql_query($sql3) or die (mysql_error());

		 
	}  	
   
   }

echo " Todas las clasificaciones han sido recalculadas <br> <br> <a href='inicio.php'> Volver </a>";
mysql_close("$host", "$username", "$password");
exit;
}

?>

<form name="form1" method="post" action=" <? echo $_SERVER['PHP_SELF']; ?>">
<table width="600" border="0" cellpadding="0" cellspacing="0">
<tr>
  <td> <br>
   ¿Seguro que quiere recalcular todas las clasificaciones de la base de datos? </td>
</tr>
<tr>
  <td align="center"> <br> <input type="submit" name="submit" value="Sí">
</form>
  <form align="center" action="inicio.php">
     <input type=submit value="No">
  </form>
  </td>
</tr>
</table>

Última edición por loganaxo; 09/11/2015 a las 10:43