Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Sumowanie tablicy
Forum PHP.pl > Forum > Przedszkole
peb
Witam, mam prośbę i nie chodzi już o gotowe rozwiązanie, nakierujcie mnie chociaż na odpowiedź.
Pewnie, rzecz wyda się banalna ale mam problem.

Mam kod:
  1. <?php
  2. // połączenie z bazą danych w osobnym pliku
  3. require_once "polacz.php";
  4. // zapytanie do bazy danych
  5.  
  6.  
  7. /* zapytanie do konkretnej tabeli */
  8. $wynik = mysql_query("SELECT * FROM zamowienia")
  9. or die('Błąd zapytania');
  10.  
  11. /*
  12. wyświetlamy wyniki, sprawdzamy,
  13. czy zapytanie zwróciło wartość większą od 0
  14. */
  15. if(mysql_num_rows($wynik) > 0) {
  16. /* jeżeli wynik jest pozytywny, to wyświetlamy dane */
  17. echo "<table cellpadding=\"2\" border=1><tr><td>Data</td><td>Pyszne obiad online</td><td>Pyszne dowóz online</td><td>pyszne obiad gotowka</td><td>pyszne dowoz gotowka</td><td>pizza portal obiad online</td><td>pizza portal dowoz online</td><td>pizza portal obiad gotowka</td><td>pizza portal dowoz gotowka</td><td>telefon obiad online</td><td>telefon dowoz online</td><td>telefon obiad gotowka</td><td>telefon dowoz gotowka</td></tr>";
  18. while($r = mysql_fetch_assoc($wynik)) {
  19. echo "<tr>";
  20. echo "<td>".$r['Data']."</td>";
  21. echo "<td>".$r['pyszne_obiad_online']."</td>";
  22. echo "<td>".$r['pyszne_dowoz_online']."</td>";
  23. echo "<td>".$r['pyszne_obiad_gotowka']."</td>";
  24. echo "<td>".$r['pyszne_dowoz_gotowka']."</td>";
  25. echo "<td>".$r['pizza_portal_obiad_online']."</td>";
  26. echo "<td>".$r['pizza_portal_dowoz_online']."</td>";
  27. echo "<td>".$r['pizza_portal_obiad_gotowka']."</td>";
  28. echo "<td>".$r['pizza_portal_dowoz_gotowka']."</td>";
  29. echo "<td>".$r['telefon_obiad_online']."</td>";
  30. echo "<td>".$r['telefon_dowoz_online']."</td>";
  31. echo "<td>".$r['telefon_obiad_gotowka']."</td>";
  32. echo "<td>".$r['telefon_dowoz_gotowka']."</td>";
  33. echo "</tr>";
  34. }
  35. echo "</table>";
  36. }
  37.  
  38. ?>


Potrzebna mi suma każdej z kolumn, która się wyświetliła.

Dzięki za poświęcony czas i ewentualną pomoc.

Pozdrawiam
nospor
Tak sie liczy sume:

$suma+= $wartosc_z_kolumny;
peb
Cytat(nospor @ 14.12.2018, 16:11:16 ) *
Tak sie liczy sume:

$suma+= $wartosc_z_kolumny;


Czyli jeśli dobrze Cię zrozumiałem, w moim przypadku coś takiego?:

  1. $suma+=$r['pyszne_obiad_online'];
  2.  
  3. echo $suma;
  4.  
nospor
Tak, w petli co wyswietlasz dane. No i to bedzie tylko suma dla tej jednej kolumny. Dla innych musisz stworzyc oddzielne sumy
peb
Cytat(nospor @ 14.12.2018, 16:34:10 ) *
Tak, w petli co wyswietlasz dane. No i to bedzie tylko suma dla tej jednej kolumny. Dla innych musisz stworzyc oddzielne sumy

Z tym, że to dziadostwa nie działa i właśnie problem tkwi w tym, że nie wiem co robię źle.
nospor
No ja tez nie wiem skoro nie raczyles pokazac calego kodu po zmianach
peb
Słuszna uwaga, i tak dziękuję za dobre chęci:

Oto kod:

  1. <?php
  2. // połączenie z bazą danych w osobnym pliku
  3. require_once "polacz.php";
  4. // zapytanie do bazy danych
  5.  
  6.  
  7. /* zapytanie do konkretnej tabeli */
  8. $wynik = mysql_query("SELECT * FROM zamowienia")
  9. or die('Błąd zapytania');
  10.  
  11. /*
  12. wyświetlamy wyniki, sprawdzamy,
  13. czy zapytanie zwróciło wartość większą od 0
  14. */
  15. if(mysql_num_rows($wynik) > 0) {
  16. /* jeżeli wynik jest pozytywny, to wyświetlamy dane */
  17. echo "<table cellpadding=\"2\" border=1><tr><td>Data</td><td>Pyszne obiad online</td><td>Pyszne dowóz online</td><td>pyszne obiad gotowka</td><td>pyszne dowoz gotowka</td><td>pizza portal obiad online</td><td>pizza portal dowoz online</td><td>pizza portal obiad gotowka</td><td>pizza portal dowoz gotowka</td><td>telefon obiad online</td><td>telefon dowoz online</td><td>telefon obiad gotowka</td><td>telefon dowoz gotowka</td></tr>";
  18. while($r = mysql_fetch_assoc($wynik)) {
  19. echo "<tr>";
  20. echo "<td>".$r['Data']."</td>";
  21. echo "<td>".$r['pyszne_obiad_online']."</td>";
  22. echo "<td>".$r['pyszne_dowoz_online']."</td>";
  23. echo "<td>".$r['pyszne_obiad_gotowka']."</td>";
  24. echo "<td>".$r['pyszne_dowoz_gotowka']."</td>";
  25. echo "<td>".$r['pizza_portal_obiad_online']."</td>";
  26. echo "<td>".$r['pizza_portal_dowoz_online']."</td>";
  27. echo "<td>".$r['pizza_portal_obiad_gotowka']."</td>";
  28. echo "<td>".$r['pizza_portal_dowoz_gotowka']."</td>";
  29. echo "<td>".$r['telefon_obiad_online']."</td>";
  30. echo "<td>".$r['telefon_dowoz_online']."</td>";
  31. echo "<td>".$r['telefon_obiad_gotowka']."</td>";
  32. echo "<td>".$r['telefon_dowoz_gotowka']."</td>";
  33. echo "</tr>";
  34.  
  35. }
  36.  
  37. $suma+=$r['pyszne_obiad_online'];
  38. echo "<tr><td>".$suma."</td></tr>";
  39.  
  40. echo "</table>";
  41. }
nospor
No przeciez napisalem ze
$suma+=$r['pyszne_obiad_online'];
ma byc w petli a nie poza nia. No jak to niby ma teraz cokolwiek sumowac?
peb
Cytat(nospor @ 14.12.2018, 16:54:13 ) *
No przeciez napisalem ze
$suma+=$r['pyszne_obiad_online'];
ma byc w petli a nie poza nia. No jak to niby ma teraz cokolwiek sumowac?



Właśnie edytowałem, dzięki za pomoc.

Pozdrawiam
emillo91
Tak dla ciekawostki możesz też przerzucać zadania na bazę danych. W zapytaniu MySQL można to zrobić używając funkcji sum(nazwy pól rekordu do zsumowania) i pogrupować wykonanie operacji sumowania zależnie od id rekordu poleceniem Group By. Wyglądałoby to tak Select *, sum() as suma from.. group by.. smile.gif
nospor
@emillo91 generalnie mozna, ale w tym wypadku nie mialoby to zadnego sensu... i jeszcze to group by...
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-2024 Invision Power Services, Inc.