Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP] Zaokrąglanie do zera części ułamkowej
Forum PHP.pl > Forum > Przedszkole
amii
W sklepie internetowym mam takie zapytanie wstawiające dane o zamówieniu do bazy:

  1. mysql_query("INSERT INTO order_pos VALUES(NULL,".$oid.",'".$delivery." - ".$payment."',".($payprice/1.22).",".$payprice.",".($payprice/1.22).",".$payprice.",'',1);");


Problem polega na tym, że do tabeli wstawiane są wartości gdzie części ułamkowe są obcinane i w efekcie np: dla produktu, którego cena wynosi 0,56 PLN wartość wstawiana do bazy to 0. Tabela order_pos w bazie wygląda tak:

id int(11)
orderid int(11)
name text
price decimal(10,0)
pricewithtax decimal(10,0)
price_discount decimal(10,0)
pricewithtax_discount decimal(10,0)
discount_code text
quantity int(11)
phpion
Problemem jest to:
Kod
decimal(10,0)

co oznacza, że zapisujesz liczbę składającą się maksymalnie z 10 cyfr, z czego na część ułamkową przypada 0 znaków (dlatego Ci ucina). Zmień na decimal(10,2).
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.