Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Obliczanie średniej rekordów
Forum PHP.pl > Forum > Bazy danych > MySQL
kuba_pilach
Witajcie, mam plik "pokazywaniewszystkich.php" :
  1. <?php
  2.  
  3. // dołączenie plików funkcji tej aplikacji
  4. require_once('funkcje_wyswietl.php');
  5. // początek wywietlania HTML
  6. $urldwa = "index.php";
  7. $session = $_SESSION['login'];
  8.  
  9. tworz_naglowek_html('Pokazywanie wszystkiego');
  10. if (isset($_SESSION['login'])) { // dostęp dla zalogowanego użytkownika
  11. // zapytania
  12. include 'connection.php'; // połączenie się z bazą danych
  13. $zapytanie = mysql_query("SELECT ID FROM uzytkownik WHERE login='$session'")
  14.  
  15. $z = mysql_fetch_assoc($zapytanie);
  16.  
  17. $wynik = mysql_query("SELECT Przedmiot.NAZWA, GROUP_CONCAT(Oceny.OCENA) AS lista_ocen FROM Oceny AS Oceny LEFT JOIN Przedmiot AS Przedmiot ON Oceny.ID_PRZEDMIOTU = Przedmiot.ID WHERE Oceny.ID_USERA = '$z[ID]' GROUP BY Oceny.ID_PRZEDMIOTU")
  18.  
  19. /*
  20. wywietlamy wyniki, sprawdzamy,
  21. czy zapytanie zwróciło wartoć większą od 0
  22. */
  23. if(mysql_num_rows($wynik) > 0) {
  24. /* jeżeli wynik jest pozytywny, to wywietlamy dane */
  25. echo "<br />";
  26. echo "<table cellpadding=\"2\" border=1>";
  27. while($r = mysql_fetch_assoc($wynik)) {
  28. echo "<tr>";
  29. echo "<td>".$r['NAZWA']."</td>";
  30. echo "<td>".$r['lista_ocen']."</td>";
  31. echo "</tr>";
  32. }
  33. echo "</table>";
  34. } else {
  35. echo "Nie masz żadnych ocen!";
  36. }
  37.  
  38. wyswietl_menu_uzyt();
  39. tworz_stopke_html();
  40.  
  41. } else {
  42. ?>
  43. <script type="text/javascript">
  44. window.location.href='<?=$urldwa?>';
  45. </script>
  46. <?php
  47. }
  48. ?>

I chciałbym, by z każdego przedmiotu "w osobnej kolumnie po ocenach" wyświetlało średnią ocen....
Wie ktoś jak to zrobić?
Wicepsik
  1. AVG(Oceny.OCENA) AS srednia
kuba_pilach
Dzięki, ale nie za bardzo umiem dodać to do listy ocen... rezultat ma być taki:
Kod
Matematyka | 6,6,6,6 | 6,0
GwynBleidD
zapytanie zmień na:
  1. SELECT Przedmiot.NAZWA, GROUP_CONCAT(Oceny.OCENA) AS lista_ocen, AVG(Oceny.OCENA) AS srednia FROM Oceny AS Oceny LEFT JOIN Przedmiot AS Przedmiot ON Oceny.ID_PRZEDMIOTU = Przedmiot.ID WHERE Oceny.ID_USERA = '$z[ID]' GROUP BY Oceny.ID_PRZEDMIOTU
i dodaj:
  1. echo "<td>".$r['srednia']."</td>";
po:
  1. echo "<td>".$r['lista_ocen']."</td>";
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.