Tabela gracze:
[---id----imie----]
[---1--- arek---
[---2----michal---
[---3---kuba---
Druga tabela to mecze:
[---id---gospodarz---przeciwnik---punkty1---punkty2---]
[---1--------2-------------3------------12----------14
[---2--------1-------------2-------------8-----------1
[---3--------3-------------1-------------10----------10
Celem jest zrobienie rankingu graczy. Czyli muszę policzyć sumę punktów dla każdego gracza. Punkty1 to punkty gospodarza, a punkty2 to punkty przeciwnika.
Z pierwszej tabeli pobieram liczbe wierszy aby wiedzieć ile jest graczy. Potem liczbe punkty dla każdego gracza. Mój kod wygląda na razie tak:
echo <<< TRESC <table width="500" cellpadding="0" cellspacing="0" border="1"> echo "<tr><th>imie</th><th>punkty</th></tr>"; TRESC; $sql1 = "SELECT * FROM gracze"; $sql2 = "SELECT * FROM fow_data"; for ($i=1; $i<$result2->num_rows; $i++) { $suma=0; while($row = mysqli_fetch_array($result2)) { $gospodarz = $row['gospodarz']; $przeciwnik = $row['przeciwnik']; $punkty1 = $row['punkty1']; $punkty2 = $row['punkty2']; if($gospodarz == $i) { $suma = $suma + $punkty1; } elseif ($przeciwnik == $i) { $suma = $suma + $punkty2; } } } $conn->close();
Nie wiem jak poprawnie wykonać to w tych dwóch pętlach. Chce uzyskać taki efekt końcowy:
[---imie---punkty---]
[------1------18-----
[------2------13-----
[------3------37-----
Liczy poprawnie przy pierwszym iteracji. potem pokazuje że 2 to 0 późnej nie ma nic.