Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php][mysql]Sumowanie dynamicznych wartości przesłanych z formularza, UNION
ocz85
post
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:
  1. $query_total = "(SELECT cena as cenap FROM parametry WHERE id = ".$parametry.")
  2. UNION (SELECT cena as cenakn FROM kolory_n WHERE id = ".$kn.")
  3. UNION (SELECT cena as cenakt FROM kolory_t WHERE id = ".$kt.")
  4. UNION (SELECT SUM(cena) as cenaa FROM akcesoria WHERE id IN (".$ids."))";

Pętla w php:
  1. <?php
  2. while($row_total = mysql_fetch_assoc($result_total)) {
  3. $p = $row_total['cenap'];
  4. $n = $row_total['cenakn'];
  5. $t = $row_total['cenakt'];
  6. $a = $row_total['cenaa'];
  7. $sum = $sum + $p + $n + $t + $a;
  8. echo $sum;
  9. ?>


I teraz przykład co się z tym dzieje:
Zaznaczam w poprzednim formularzu np:
  1. parametry 115300.00
  2. kolory_n 2842.00
  3. kolory_n 6755.00
  4. akcesoria 1444.00
  5. 2376.00

W wyniku wyświetla mi ciąg sum, zamiast poprawnej kwoty, np. tu wyświetli tak:
  1. 115300118142124897128717

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
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 2.10.2025 - 22:58