Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Sumowanie kosztów całego koszyka
Forum PHP.pl > Forum > PHP
MOniToR
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
macza
  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. ?>
MOniToR
  1. <?php
  2. $razem_produktow += $produkt['ilosc'];
  3. ?>

To jest dobre bo ilosc mi wyświetla poprawną. Nie chcą mi się sumować ceny.
kszychu
Wyświetl sobie całą tablicę $_SESSION, może tam masz coś namerdane.
MOniToR
  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
Spirit86
  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
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.