Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [mysql][php] skomplikowane sumowanie
Forum PHP.pl > Forum > PHP
funky_beat
Stworzyłem tabele1 z kolumnami:

id
nazwa
cena

Robie zapytanie do bazy i wyswietlam z niej kilka rekordów i ich ceny.

W jaki sposób mozna zsumować ceny wybranych rekordow?
Hazel
Za pomocą PHP czy SQL?
Z tego, co widzę, to chcesz do tego zaprząc PHP, ale to jest sprzeczne z tematem, bo nic w tym skomplikowanego - robisz to po prostu NORMALNIE tongue.gif
Pobierasz rekordy do PHP i sumujesz odpowiednie zmienne...
funky_beat
tak chciałbym to zrobić za pomocą php

Cytat
Pobierasz rekordy do PHP i sumujesz odpowiednie zmienne...



Pobrać rekordy potrafie

  1. <?php
  2. $query = mysql_query("SELECT tabela1.* FROM tabela1 ")or die("Error SQL: tabela1");
  3.  
  4.  
  5. echo '<table>
  6. <tr><td><b>nazwa</b></td><td><b>cena</b></td></tr>';
  7.  
  8. while ($row = mysql_fetch_array($query))
  9.  
  10. {
  11.  
  12. echo '<tr><td>'.$row[1].'</td><td>'.$row[2].'</td></tr>';
  13.  
  14. }
  15. echo '</table>';
  16. ?>


Gorzej juz z sumowaniem zmiennych. Ktore i w jaki sposob ? sad.gif
starach
http://pl2.php.net/array_sum
albo
  1. <?php
  2. $suma_cen = 0;
  3. while ($row = mysql_fetch_array($query))
  4. {
  5.  $suma_cen += $row['cena'];
  6.  echo '<tr><td>'.$row[1].'</td><td>'.$row[2].'</td></tr>';
  7. }
  8. ?>
Sedziwoj
Tylko że baza zrobi to szybciej.
starach
Ano zrobi
  1. SELECT SUM(nazwa_pola_liczbami) AS suma FROM nazwa_tabeli
Sedziwoj
Nie musi być dodatkowego zapytania, można dodać kolumnę "suma", co prawda przy dużej liczbie rekordów trochę nadmiar ale baza nie musi szukać dwa razy.
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.