Liczbę meczy wygranych, zremisowanych, przegranych i sumę punktów umieściłem w tablicy.
<?php nazwa => $dane[pelna_nazwa], mecze => mecze($dane[id]), wygrane => wygrane($dane[id]), remisy => remisy($dane[id]), porazki => porazki($dane[id]), gz => gole_zdobyte($dane[id]), gs => gole_stracone($dane[id]), pkt => pkt($dane[id]), rg => roznica_goli($dane[id]), ); ?>
Aby uzyskać poszczególne wyniki użyłem napisanych przezemnie funkcji, które na podstawie id danej drużyny liczą odpowiednie wyniki na podstawie meczy zapisanych w bazie.
Tablice sortuję względem ilośći punktów (pkt) używając takiej funkcji
<?php function sort_pkt($b, $a) { } ?>
I tworze całą tabelę ligową
<?php $p = 1; print '<tr> <td>'.$p.'.</td> <td>'.$wartosc[nazwa].'</td> <td>'.$wartosc[mecze].'</td> <td>'.$wartosc[wygrane].'</td> <td>'.$wartosc[remisy].'</td> <td>'.$wartosc[porazki].'</td> <td>'.$wartosc[gz].'</td> <td>-</td> <td>'.$wartosc[gs].'</td> <td>'.$wartosc[pkt].'</td> <td>'.$wartosc[rg].'</td> </tr>'; $p++; } ?>
Otrzymuje coś takiego
Kod
1. Legia Warszawa 19 11 5 3 26 - 11 38 (+15)
2. Wisła Kraków 19 10 7 2 30 - 14 37 (+16)
3. Amica Wronki 19 9 5 5 33 - 18 32 (+15)
...
2. Wisła Kraków 19 10 7 2 30 - 14 37 (+16)
3. Amica Wronki 19 9 5 5 33 - 18 32 (+15)
...
Wszystko ładnie posortowane malejąco względem ilości punktów.
Niestety, gdy któraś z drużyn ma ilość punktów poniżej 10, wtedy trafia na sam szczyt tabeli. W meczach granych u siebie tabela wygląda tak
Kod
1. Arka Gdynia 8 2 3 3 6 - 7 9 (-1)
2. Górnik Łęczna 8 1 4 3 4 - 8 7 (-4)
3. Polonia Warszawa 9 1 4 4 4 - 11 7 (-7)
4. Wisła Kraków 9 6 3 0 18 - 5 21 (+13)
5. Legia Warszawa 9 7 0 2 13 - 7 21 (+6)
6. Cracovia 10 6 2 2 17 - 10 20 (+7)
...
15. Korona Kielce 7 3 2 2 11 - 8 11 (+3)
16. GKS Bełchatów 9 2 4 3 9 - 11 10 (-2)
2. Górnik Łęczna 8 1 4 3 4 - 8 7 (-4)
3. Polonia Warszawa 9 1 4 4 4 - 11 7 (-7)
4. Wisła Kraków 9 6 3 0 18 - 5 21 (+13)
5. Legia Warszawa 9 7 0 2 13 - 7 21 (+6)
6. Cracovia 10 6 2 2 17 - 10 20 (+7)
...
15. Korona Kielce 7 3 2 2 11 - 8 11 (+3)
16. GKS Bełchatów 9 2 4 3 9 - 11 10 (-2)
Czy ja popełniłem gdzieś błąd, czy ta funkcja sortująca tak działa?