Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Sumowanie kosztów całego koszyka, sumowanie / dodawanie zmiennych
MOniToR
post 9.05.2006, 15:34:44
Post #1





Grupa: Zarejestrowani
Postów: 182
Pomógł: 2
Dołączył: 16.11.2003
Skąd: Wrocław / Skokowa

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


Poł dnia się męczę z taką banalną rzeczą i nie mam pojęcia czemu nie chce mi nie sumują koszty tylko wysweitlane są koszty ostatniego produktu. Prosze o pomoc.
Cały skrypt:
  1. <?php
  2.  
  3. $produkt=$_GET["dokoszyka"]; // pobieram id produktu
  4. if (isset($_SESSION['koszyk'][$produkt])) { // jesli produkt jest w koszyku
  5. $ilosc=$_SESSION['koszyk'][$produkt]['ilosc']; // sprawdzam ilosc
  6. $_SESSION['koszyk'][$produkt]['ilosc']=$ilosc+1; // dodaj jeszcze jeden
  7.  $_SESSION['koszyk'][$produkt]['cena']=$_GET["cena"];
  8. } else { // jesli produktu nie ma w koszyku
  9.  $_SESSION['koszyk'][$produkt]['pr_id']=$_GET["dokoszyka"];
  10.  $_SESSION['koszyk'][$produkt]['cena']=$_GET["cena"];
  11. $_SESSION['koszyk'][$produkt]['ilosc']=1; // dodaj produkt w ilosci 1 szt.
  12. }
  13.  
  14. if(isset($_SESSION['koszyk'])) {
  15. if($_SESSION['koszyk']['pr_id'] !=='') {
  16. foreach($_SESSION['koszyk'] as $id_produktu => $produkt) {
  17.  // wypisanie
  18.  
  19.  $sql="SELECT * FROM caltek_products WHERE id='".$produkt['pr_id']."'";
  20. $result=mysql_query($sql);$koszt=0;
  21. while($row1= mysql_fetch_array($result)){
  22.  
  23. $pr2_sql="SELECT * FROM caltek_producenci WHERE pr_id='".$row1["firma_id"]."'";
  24. $pr2_result=mysql_query($pr2_sql);
  25. $pr2_row= mysql_fetch_array($pr2_result);
  26.  
  27. echo"<tr bgcolor=\"#FFFFFF\" onmouseover=\"this.style.backgroundColor='#BCE6F6';\" onmouseout=\"this.style.backgroundColor='#FFFFFF';\"><td style=\"text-align:center;\">$i</td><td> <a href=\"product.php?id=".$row1["id"]."\" class=\"lista\" >".$pr2_row["pr_nazwa"]."
  28. ".$row1["name"]."</a></td><td>".$produkt['cena']." zł</td><td style=\"text-align:center;\"><a href=\"zamow.php?unset=".$produkt['pr_id']."&back=".$_SERVER["REQUEST_URI"]."\">usuń</a></a></td></td>
  29.  </tr>";
  30.  
  31. $i++;
  32.  }
  33.  // i sumowanie
  34.  $koszt += $koszt + $produkt['cena'];
  35.  $razem_produktow += $produkt['ilosc'];
  36.  
  37. }
  38.  echo"<tr bgcolor=\"#FFFFFF\" ><td style=\"text-align:right;\"></td><td style=\"text-align:right;\"> W Twoim koszyku znajdują sie towary na sumę: </td><td style=\"color:red;\"> $koszt zł</td><td style=\"text-align:center;\"><a href=\"zamow.php?unseta=all&back=".$_SERVER["REQUEST_URI"]."\">usuń wszystko</a></a></td></td>
  39.  </tr>";
  40. }
  41. }
  42.  
  43. ?>

i kwałek gdzie tkwi problem
  1. <?php
  2.  
  3. $koszt = $koszt + $produkt['cena'];
  4.  $razem_produktow += $produkt['ilosc'];
  5.  
  6. ?>

Probowałem robić na różne sposoby, najpeirw dodawałem cene z bazy danych późnie probowałem zapisywac cene w sesji ale cały czas zamiast sumy kosztó koszyka wysiwetla mi sie cena ostatniego produktu na liscie. Proszę o pomoc winksmiley.jpg


--------------------
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
macza
post 9.05.2006, 15:41:44
Post #2





Grupa: Zarejestrowani
Postów: 236
Pomógł: 4
Dołączył: 1.05.2006
Skąd: Lublin

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


  1. <?php
  2. $koszt = $koszt + $produkt['cena'];
  3.  $razem_produktow += $produkt['ilosc'];
  4. ?>

zamien na:
  1. <?php
  2. $koszt = $koszt + $produkt['cena'];
  3.  $razem_produktow = $produkt['ilosc'];
  4. ?>


--------------------
_tworzenie stron www tanio Lublin - tworzenie stron www, tanio, szybko, solidnie, własny CMS.
Go to the top of the page
+Quote Post
MOniToR
post 9.05.2006, 15:47:45
Post #3





Grupa: Zarejestrowani
Postów: 182
Pomógł: 2
Dołączył: 16.11.2003
Skąd: Wrocław / Skokowa

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


  1. <?php
  2. $razem_produktow += $produkt['ilosc'];
  3. ?>

To jest dobre bo ilosc mi wyświetla poprawną. Nie chcą mi się sumować ceny.


--------------------
Go to the top of the page
+Quote Post
kszychu
post 9.05.2006, 15:50:08
Post #4





Grupa: Przyjaciele php.pl
Postów: 2 712
Pomógł: 23
Dołączył: 27.10.2003
Skąd: z kontowni

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


Wyświetl sobie całą tablicę $_SESSION, może tam masz coś namerdane.


--------------------
"Coś się kończy, coś się zaczyna." Andrzej Sapkowski
Go to the top of the page
+Quote Post
MOniToR
post 9.05.2006, 15:59:42
Post #5





Grupa: Zarejestrowani
Postów: 182
Pomógł: 2
Dołączył: 16.11.2003
Skąd: Wrocław / Skokowa

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


  1. <?php
  2. Array ( 
  3. [202] => Array ( 
  4. [pr_id] => 202 
  5. [cena] => 23 
  6. [ilosc] => 1 ) 
  7. [201] => Array ( 
  8. [pr_id] => 201 
  9. [cena] => 324 
  10. [ilosc] => 1 )
  11.  )
  12. ?>

Nie mam pojęcia :/ Niby wszystko ejst ok ale nie dodaje mi tego eh


--------------------
Go to the top of the page
+Quote Post
Spirit86
post 9.05.2006, 16:14:33
Post #6





Grupa: Zarejestrowani
Postów: 607
Pomógł: 23
Dołączył: 8.09.2004
Skąd: Wrocław

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


  1. <?php
  2. $suma = 0;
  3. while($cur = $_SESSION['koszyk'])
  4. {
  5.  
  6.  $suma += $cur['cena'];
  7.  next($_SESSION['koszyk']);
  8. }
  9. ?>


pisane z palca

Swoją drogą, masz ciekawą funckję array_sum" title="Zobacz w manualu php" target="_manual. Popraw Twój kod, jest strasznie chaotyczny i nieoptymalny.
pozdro


--------------------
Audio: Metallica, Soil, RHCP, OffSpring, Green Day, "Retro", Gorillaz, Disturbed, Coma
DB: MySQL 4.1 | php: 4.4.3 Pomogłem Ci? Wciśnij przycisk POMÓGŁ.
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 Wersja Lo-Fi Aktualny czas: 24.07.2025 - 20:00