Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP+MySQL] Średnia ważona z danymi z bazy
kamilos809
post
Post #1





Grupa: Zarejestrowani
Postów: 165
Pomógł: 3
Dołączył: 2.04.2010

Ostrzeżenie: (10%)
X----


Hejka!
Mam malutki problemik :/ Ogółem staram się zrobić średnią ważoną, gdzie normalnie byłoby jakoś tak:
  1. $ocena1=6*2;
  2. $ocena2=4*3;
  3. $ocena3=2*1;
  4. $suma_ocen=$ocena1+$ocena2+$ocena3;
  5. $suma_wag=2+3+1;
  6. $srednia=$suma_ocen / $suma_wag;
  7. echo '<br>'.$srednia;

Ale... ja staram się zrobić ją w połączeniu z bazą. W bazie mam oczywiście tabelkę z komórkami: id, ocena, waga, przedmiot.
I teraz jakim sposobem się kierować, żeby ładnie to policzyć?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 7)
thek
post
Post #2





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Najprościej? W każdym wierszu zrób sobie mnożenie waga * ocena, a potem zrób sumę tych iloczynów i podziel przed sumę wag. Zgodnie z wzorem.
Go to the top of the page
+Quote Post
radziopoke
post
Post #3





Grupa: Zarejestrowani
Postów: 125
Pomógł: 14
Dołączył: 2.06.2010

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


a nie łatwiej po prostu zrobić to za pomocą odpowiedniego zapytania?
  1. SELECT (SUM(ocena*waga)/SUM(waga)) FROM tabela
Go to the top of the page
+Quote Post
kamilos809
post
Post #4





Grupa: Zarejestrowani
Postów: 165
Pomógł: 3
Dołączył: 2.04.2010

Ostrzeżenie: (10%)
X----


radziopoke, Twoja propozycja jest dobra, tyle że jak podstawię pod moje to mi wyskakuje "Resource id #32".
zanim ktoś zapyta... tak to wygląda:
  1. $sql="SELECT (SUM(ocena*waga)/SUM(waga)) FROM dziennik_oceny WHERE przedmiot='$przedmiot'";
  2. $srednia=mysql_query($sql);
  3. echo $srednia;
Go to the top of the page
+Quote Post
toffiak
post
Post #5





Grupa: Zarejestrowani
Postów: 395
Pomógł: 80
Dołączył: 24.08.2009

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


A teraz kliknij w link z mysql_query ze swojego listingu o dowiesz się dlaczego zwraca "Resource id #32"
Go to the top of the page
+Quote Post
kamilos809
post
Post #6





Grupa: Zarejestrowani
Postów: 165
Pomógł: 3
Dołączył: 2.04.2010

Ostrzeżenie: (10%)
X----


Staram się ogarnąć o co Ci chodzi, ale nie rozumiem...:/
Go to the top of the page
+Quote Post
Monter08
post
Post #7





Grupa: Zarejestrowani
Postów: 237
Pomógł: 22
Dołączył: 16.09.2010
Skąd: Lubaczów

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


  1. $sql="SELECT (SUM(ocena*waga)/SUM(waga)) FROM dziennik_oceny WHERE przedmiot='$przedmiot'";
  2. $srednia=mysql_fetch_row(mysql_query($sql));
  3. echo $srednia[0];

na następny raz dokładniej czytaj.
Go to the top of the page
+Quote Post
kamilos809
post
Post #8





Grupa: Zarejestrowani
Postów: 165
Pomógł: 3
Dołączył: 2.04.2010

Ostrzeżenie: (10%)
X----


dzięki... próbowałem poszukać, ale nic nie znalazłem po prostu :/
Go to the top of the page
+Quote Post

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: 23.08.2025 - 01:50