Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Liczenie koszyka
Forum PHP.pl > Forum > Przedszkole
pawel06281990
Witam napisałem zliczanie koszyka ile klient ma zapłacić za wybrany towar ale kwoty wychodzą stanie duże pokaże przykład

mam tak wybrane dwa towary za sztukę jest 3.99 zł
i wybrałem jeden towar o wartości 149.00 zł

wynik powinien wyjść 156.98 zł

a mam wynik 458.97 zł

A tak wygląda kod którym to zliczam

  1. $kosz_cena = $wpdb->get_row("SELECT SUM(opieka_kosz_ilosc ) AS ilosc , SUM(opieka_kosz_cena) AS kwota FROM ".OPIEKA_KOSZ_TABLE." WHERE user_id=".$current_user->ID." ORDER BY opieka_kosz_ilosc DESC");
  2.  
  3.  
  4. $doliczanie=$kosz_cena->ilosc*$kosz_cena->kwota;
  5.  
  6. $kwota =number_format($doliczanie, 2, ".", "");


co jest nie tak questionmark.gif
Tomplus
W jaki typ masz kolumnach:
- opieka_kosz_ilosc
- opieka_kosz_cena

oraz co w rzeczywistości pokazuje ci się co zwraca zapytanie?

  1. print_r ([$doliczanie, $kosz_cena->ilosc, $kosz_cena->kwota]);

pawel06281990
Cytat(Tomplus @ 22.05.2021, 12:29:51 ) *
W jaki typ masz kolumnach:
- opieka_kosz_ilosc
- opieka_kosz_cena

oraz co w rzeczywistości pokazuje ci się co zwraca zapytanie?

  1. print_r ([$doliczanie, $kosz_cena->ilosc, $kosz_cena->kwota]);


Mam taki wynik
Array ( [0] => 458.97 [1] => 3 [2] => 152.99 )

A w bazie mam taki typ w bazie danych koszyk

opieka_kosz_ilosc varchar(100)
opieka_kosz_za_sztuke varchar(6)

gino
Varchar, naprawdę? Przecież dla kwoty jest typ decimal, np . decimal(9,2)
Albo typ int, gdzie możesz przechowywać kwotę w groszach. Jak sama nazwa wskazuje varchar jest do przechowywania typu znakowego char bez dopełnienia do zadeklarowanego rozmiaru. Ilość też, każdą jednostkę szt, m3, m2 itd można przechować w decimal.
emillo91
A po co mnożysz te wartości? Jeżeli przechowujesz informacje o wybranym produkcie w bazie to wystarczy samo sumowanie. Coś mi się wydaje, że nie podajesz wszystkich informacji bo po wyniku (3.99 + 149.00)*3 wychodzi ten nieoczekiwany a z tej logiki wynik powinien wyjść 467,94.
pawel06281990
Próbami i błędami doszłem do tego ale dzięki za pomoc snitch.gif
Tomplus
No to powiedz, co tam było źle?
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.