![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 31.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam, chciałbym zsumować przesłane post'em wartości ceny radiobutton'ów i checkbox'ów. W moim przypadku są to parametry, kolory_n, kolory_t (radio) i akcesoria (checkbox'y).
Struktury tabel: parametry: id | checked | model | moc | pojemnosc | przyspieszenie | zuzycie | cena kolory_n: id | checked | kolor | opis | cena kolory_t: id | checked | kolor | opis | cena akcesoria: id | akcesoria | cena wszystkie pola cena są float(10,2) zapytanie mysql:
Pętla w php:
I teraz przykład co się z tym dzieje: Zaznaczam w poprzednim formularzu np:
W wyniku wyświetla mi ciąg sum, zamiast poprawnej kwoty, np. tu wyświetli tak:
czyli pierwsze 6 cyfr to cena parametry, drugie 6 cyfr to cena parametry+kolory_n, trzecie 6 cyfr to cena parametry+kolory_n+kolory_t, czwarte 6 cyfr to cena parametry+kolory_n+kolory_t+akcesoria Problem w tym, żeby wyświetlał tylko te "czwarte 6 cyfr", czyli w tym przypadku 128717 Pewnie błąd jest prosty, ale nie mogę go znaleźć, proszę o pomoc |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 1 033 Pomógł: 125 Dołączył: 17.09.2005 Skąd: Żywiec Ostrzeżenie: (0%) ![]() ![]() |
Cytat Troche to dziwne że ta suma 128717 nie jest zwracana we float'cie Jak to nie jest? Owszem, teraz widzisz zwykły INT, bo ceny w bazie danych zawsze kończą ci się: ".00". Zmień sobie na chwilę 115300.00 na 115300.55 to zobaczysz że działa jak należy. Ten "zaokrąglony float" możesz spokojnie używać do obliczeń i wsadzania do bazy. A jak będziesz go chciał wyświetlić, to number_format" title="Zobacz w manualu PHP" target="_manual albo printf" title="Zobacz w manualu PHP" target="_manual/sprintf" title="Zobacz w manualu PHP" target="_manual Ten post edytował Kicok 5.04.2008, 13:23:24 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 31.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Jak to nie jest? Owszem, teraz widzisz zwykły INT, bo ceny w bazie danych zawsze kończą ci się: ".00". Zmień sobie na chwilę 115300.00 na 115300.55 to zobaczysz że działa jak należy. Ten "zaokrąglony float" możesz spokojnie używać do obliczeń i wsadzania do bazy. A jak będziesz go chciał wyświetlić, to [manual\]number_format\[/manual\] albo [manual\]printf\[/manual\]/[manual\]sprintf\[/manual\] No faktycznie (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) Rozumiem że ta suma po insercie do bazy "wejdzie" w pole float(10,2) ? Wielkie dzięki za pomoc (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 7.10.2025 - 01:58 |