Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php]Skrypt do liczenia utargów
oSa
post
Post #1





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 29.04.2003

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


Piszę skrypt do liczenia utargów pewnej gastronomii.

W jednej tabeli przechowuje produkty, w drugiej zamowienia.
Tabele wyglądają tak:

produkty: id|title|cena
zamowienia: id|produkt_id|ilosc|data

Chcę zrobić dzienne podsumowania, wyliczam sobie ze wartosc = cena*ilosc. Mam problem z podsumowaniem wszystkich wartosci (chcę je dodać), uzyskując utarg dzienny.

Zdaje sobie sprawę, że to pewnie banalna rzecz, mam nadzieje na pomoc gdyż dawno nie pisałem nic w php, a musze napisać ten skrypt. Licze na pomoc, mam nadzieje ze wytlumaczylem klarownie o co mi chodzi : )
Pozdro

wyglada to dokladnie tak:
  1. <?php
  2. echo "<h6>Podsumowanie dnia <strong>$dzien</strong></h6>
  3. <table ><tr><td>Produkt</td><td>Ilosc</td><td>Wartosc</td></tr>
  4. ";
  5.  
  6.  
  7. $sel_z = mysql_query("SELECT * FROM zamowienia where data='$dzien' ");
  8. while ($b = mysql_fetch_array($sel_z))
  9. {
  10. $sel_p = mysql_query("SELECT * FROM produkty where id='$b[produkt_id]'");
  11. while ($c = mysql_fetch_array($sel_p))
  12. {
  13. $wartosc = $c[cena] * $b[ilosc];
  14. echo "<tr><td>$c[title]</td><td>$b[ilosc]</td><td>$wartosc</td></tr>";
  15. }
  16.  
  17. }
  18. ?>


i chodzi mi o zliczenie $wartosc (wszystkich wartosci)


-------------------------
ponieważ dostałeś już odpowiedzi
nie zamknę wątku ale dodam
odpowiedni [tag] do tematu
na przyszłość o tym pamiętaj
~Cienki1980
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
mrjozo
post
Post #2





Grupa: Zarejestrowani
Postów: 142
Pomógł: 3
Dołączył: 27.06.2007

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


  1. <?php
  2. $sum = 0;
  3. while ($c = mysql_fetch_array($sel_p))
  4. {
  5. $wartosc = $c[cena] * $b[ilosc];
  6. $sum += $wartosc;
  7. echo "<tr><td>$c[title]</td><td>$b[ilosc]</td><td>$wartosc</td></tr>";
  8. }
  9. ?>


--------------------
W chwili wolnego zapraszam na gry Dla każdego coś się znajdzie;)
Go to the top of the page
+Quote Post
oSa
post
Post #3





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 29.04.2003

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


troche nie rozumiem tego co napisałeś.

Ja chcę dodać wszystkie wartości $wartosc, żeby uzyskać całą kwotę utargu.

To wszystko jest w pętli (bo pobierane z bazy) dlatego mam z tym problem
Go to the top of the page
+Quote Post
mrjozo
post
Post #4





Grupa: Zarejestrowani
Postów: 142
Pomógł: 3
Dołączył: 27.06.2007

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


Na początku ustawiam sobie $sum na 0, czyli caly utarg jest 0. Potem przy każdym liczeniu wartości, dodaję do $sum tą wartość.

  1. <?php
  2. $sum += $wartosc;
  3. ?>
to skrócony zapis od
  1. <?php
  2. $sum = $sum + $wartosc;
  3. ?>


Po wyjsciu z petli w zmiennej $sum masz zsumowane wszystkie wartości.


--------------------
W chwili wolnego zapraszam na gry Dla każdego coś się znajdzie;)
Go to the top of the page
+Quote Post
oSa
post
Post #5





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 29.04.2003

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


Faktycznie to jak najbardziej dobre rozwiązanie, jednak nie działa u mnie : /

Utarg wyświetla się 20, wygląda jakby uznał tylko ostatnią wartość (ona wynosi 20).

Oto cały kod:
  1. <?php
  2. echo "<h6>Podsumowanie dnia <strong>$dzien</strong></h6>
  3. <table ><tr><td>Produkt</td><td>Ilosc</td><td>Wartosc</td></tr>
  4. ";
  5.  
  6.  
  7. $sel_z = mysql_query("SELECT * FROM zamowienia where data='$dzien' ");
  8. while ($b = mysql_fetch_array($sel_z))
  9. {
  10. $sel_p = mysql_query("SELECT * FROM produkty where id='$b[produkt_id]'");
  11. $sum = 0;
  12. while ($c = mysql_fetch_array($sel_p))
  13. {
  14. $wartosc = $c[cena] * $b[ilosc];
  15.  
  16. $sum = $sum + $wartosc;
  17.  
  18. echo "<tr><td>$c[title]</td><td>$b[ilosc]</td><td>$wartosc</td></tr>";
  19. }
  20.  
  21. }
  22. echo "</table>
  23. <h2>Utarg: $sum </h2>
  24.  
  25. ";
  26. ?>
Go to the top of the page
+Quote Post
mrjozo
post
Post #6





Grupa: Zarejestrowani
Postów: 142
Pomógł: 3
Dołączył: 27.06.2007

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


Dlatego bo zerowałeś $sum przy każdym zamówieniu...
Daj $sum przed pierwszą pętle
  1. <?php
  2. $sel_z = mysql_query("SELECT * FROM zamowienia where data='$dzien' ");
  3. $sum = 0;
  4. while ($b = mysql_fetch_array($sel_z))
  5. {
  6. $sel_p = mysql_query("SELECT * FROM produkty where id='$b[produkt_id]'");
  7.  
  8. while ($c = mysql_fetch_array($sel_p))
  9. {
  10. $wartosc = $c[cena] * $b[ilosc];
  11.  
  12. $sum = $sum + $wartosc;
  13.  
  14. echo "<tr><td>$c[title]</td><td>$b[ilosc]</td><td>$wartosc</td></tr>";
  15. }
  16.  
  17. }
  18. echo "</table>
  19. <h2>Utarg: $sum </h2>
  20.  
  21. ";
  22. ?>


--------------------
W chwili wolnego zapraszam na gry Dla każdego coś się znajdzie;)
Go to the top of the page
+Quote Post
oSa
post
Post #7





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 29.04.2003

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


faktycznie, ślepy jestem.

wielkie dzięki
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 14:52