Primer de todo crea una tabla como la que he creado. (mas o menos, pero que tenga los gf, gc, puntos.) Acostumbrate a poner en las tablas id numericos como primarios, y no nombres, siempre es mas comodo.
Código PHP:
$sql = 'CREATE TABLE `posiciones_futbol` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`nombre_equipo` VARCHAR( 50 ) NOT NULL ,
`posicion` INT( 2 ) NOT NULL ,
`puntos` INT( 3 ) NOT NULL ,
`gf` INT( 3 ) NOT NULL ,
`gc` INT( 3 ) NOT NULL
) ENGINE = MYISAM ';
mysql_query( $sql, $conn );
Este trozo lo tenias tu, pero lo he modificado un poco.
Código PHP:
$qry = mysql_query("SELECT * FROM partidos WHERE id_liga='0' ");
while ($row = mysql_fetch_array($qry))
{
$equipoA = $row[id_local];
$equipoB = $row[id_visita];
if($row['GL'] > $row['GV']) {
$puntos[$equipoA] += 3;
$puntos[$equipoB] += 0;
}
elseif($row['GV'] > $row['GL']) {
$puntos[$equipoB] += 3;
$puntos[$equipoA] += 0;
}
else{
$puntos[$equipoB] += 1;
$puntos[$equipoA] += 1;
}
sumaPuntos($puntos[$equipoA] , $puntos[$equipoB]); //funcion que suma los puntos obtenidos en el partido a la tabla
ordenaPosiciones();
en ordenaPosiciones seria algo asi (te lo digo de palabra)
Haces un ordenado de los puntos con:
Select * FROM posiciones_futbol ORDER BY puntos DESC;
Recorres el array y si encuentra que 2 tienen la misma puntuacion pues vas a tu tabla y comparas los goles de cada uno, de ahi pillas el que tiene mas goles y le dices que ese este por delante del otro.
Esa es una sentencia sql complicada, pero es la que necesitas. No se si me he explicado bien... Igualmente supongo que hay maneras mas sencillas de hacerlo, pero no me viene ninguna ahora.