Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] Tworzenie sumy punktów dla każdego gracza
Androsset
post
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 24.08.2016

Ostrzeżenie: (0%)
-----


Mam dwie tabele Jedna to gracze druga mecze.
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:
  1. echo <<< TRESC
  2. <table width="500" cellpadding="0" cellspacing="0" border="1">
  3. echo "<tr><th>imie</th><th>punkty</th></tr>";
  4. TRESC;
  5. $sql1 = "SELECT * FROM gracze";
  6. $sql2 = "SELECT * FROM fow_data";
  7.  
  8. $result1 = mysqli_query($conn,$sql1)or die(mysqli_error($conn));
  9. $result2 = mysqli_query($conn,$sql2)or die(mysqli_error($conn));
  10.  
  11. for ($i=1; $i<$result2->num_rows; $i++)
  12. {
  13. $suma=0;
  14. while($row = mysqli_fetch_array($result2))
  15. {
  16. $gospodarz = $row['gospodarz'];
  17. $przeciwnik = $row['przeciwnik'];
  18. $punkty1 = $row['punkty1'];
  19. $punkty2 = $row['punkty2'];
  20. if($gospodarz == $i)
  21. {
  22. $suma = $suma + $punkty1;
  23. } elseif ($przeciwnik == $i)
  24. {
  25. $suma = $suma + $punkty2;
  26. }
  27.  
  28. }
  29. echo "<tr><td>".$i."</td><td>".$suma."</td></tr>";
  30.  
  31. }
  32.  
  33.  
  34. $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.

Ten post edytował Androsset 29.08.2016, 16:05:33
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 16.10.2025 - 09:59