Sumowanie wyników

Sumowanie wyników
0

Witam,
jak zsumować wyniki z bazy np:

ID kogo lvl co hp
1 sdsdds 1 zbroja 2
1 sdsdds 1 helm 4
Chodzi mi o to, że jak użytkownik ma założony hełm i zbroje to sumuje hp 2 + 4 = 6 i wyswietla w zmiennej $podliczhp
Wie ktoś jak to zrobić?
edytowany 1x, ostatnio: dzek69
SO
  • Rejestracja:ponad 10 lat
  • Ostatnio:około rok
0

Pogrupuj po kogo i użyj SUM(hp)

edytowany 1x, ostatnio: some_ONE
Patryk27
Moderator
  • Rejestracja:ponad 17 lat
  • Ostatnio:ponad rok
  • Lokalizacja:Wrocław
  • Postów:13042
0

Poczytaj o składni GROUP BY (baza danych).


tocw86
  • Rejestracja:prawie 10 lat
  • Ostatnio:ponad 8 lat
  • Postów:32
0

np: SELECT u.id, sum(u.lvl_helm + u.lvl_zbroja) as razem from users u group by u.id order by razem desc, ale lepiej napisac funckje np:

Kopiuj
 
function suma_obr(...$params)
{ 
   $suma=0; 
   foreach($params as $args){
        $suma+=$args; 
       }
  return $suma;
}

Mysle ze lepiej jak napiszesz klase z funkcja w php, bedzie szybciej niz setki JOINów i SUM z mysql. Do funkcji mozesz przekazac tablice z danymi...

Patryk27
PHP wcale NIE będzie szybsze od bazy danych, a ręczne sumowanie tego to patologia.
tocw86
  • Rejestracja:prawie 10 lat
  • Ostatnio:ponad 8 lat
  • Postów:32
0

ok może być szybsze a może nie zależy od założeń gry, budowy bazy danych, algorytmu - ale nieważne faktycznie SUM domyślnie jest szybsze bo operuje bezpośrednio na danych. Zliczać nie trzeba ręcznie - ja bym napisał klasę z metodami dla każdego wojownika ale róbta co chceta :-)

edytowany 1x, ostatnio: tocw86

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.