Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [HTML][PHP]Tablica - dodawanie kilku wartości
daros17
post
Post #1





Grupa: Zarejestrowani
Postów: 233
Pomógł: 27
Dołączył: 27.08.2007

Ostrzeżenie: (0%)
-----


Hey

Mam taki problem z tablicami, mam formularz, przez który składam zamówienia i teraz dopisałem wybór opon letnich i zimowych, niżej kawałek kodu z formularza:
  1. <td>Opony</td>
  2. <td align="center"><input type="text" name="iloscopon" size="3" maxlength="3">
  3. Opony letnie
  4. <input type="radio" name="letnie" size="3" maxlength="3" >
  5. Opony zimowe
  6. <input type="radio" name="zimowe" size="3" maxlength="3" >
  7. </td>


W tej chwili skrypt liczy mi dobrze, ale opony oraz inne produkty mają jedną cenę, ale opony letnie i zimowe mają inne ceny.
  1. $wartosc = 0.00;
  2.  
  3. $cenaopon=50;
  4. $cenaoleju=100;
  5. $cenaswiec=150;
  6.  
  7.  
  8. $wartosc += $iloscopon * $cenaopon
  9. + $iloscoleju * $cenaoleju
  10. + $iloscswiec * $cenaswiec;
  11.  
  12.  
  13. echo $wartosc;
  14.  
  15. $zamowienie["letnie"] = 200;
  16. $zamowienie["zimowe"] = 300;
  17.  
  18.  
  19. foreach( $zamowienie as $typ => $ilosc){
  20. $wartosc += $zamowienie[$typ] + $ilosc;
  21. }
  22.  
  23. echo $wartosc;


pierwsze echo $ wartosc dziala dobrze, natomiast w drugim mam wynik 1610. Co robię źle?

Ten post edytował daros17 20.08.2010, 12:21:55
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 9)
lDoran
post
Post #2





Grupa: Zarejestrowani
Postów: 172
Pomógł: 13
Dołączył: 15.11.2009

Ostrzeżenie: (0%)
-----


  1. foreach( $zamowienie as $typ => $ilosc){
  2. $wartosc += $zamowienie[$typ] + $ilosc;
  3. }

z tego co jest w skrypcie wynika, że do zmiennej $wynik dodaj zamówienia każdego typu oraz ilość
  1. $i = 0;
  2. foreach( $zamowienie as $typ => $ilosc){
  3. $sum[$i] = $zamowienia[$typ] + $ilosc;
  4. $i++;
  5. }
  6.  
  7. for($j = 0; $j < $i; $j++)
  8. {
  9. echo $sum[$j] . "<br />";
  10. }


Ten post edytował lDoran 20.08.2010, 11:51:58
Go to the top of the page
+Quote Post
daros17
post
Post #3





Grupa: Zarejestrowani
Postów: 233
Pomógł: 27
Dołączył: 27.08.2007

Ostrzeżenie: (0%)
-----


  1. $i = 0;
  2. foreach( $zamowienie as $typ => $ilosc){
  3. $sum[$i] = $zamowienia[$typ] + $ilosc;
  4. $i++;
  5. }
  6.  
  7. for($j = 0; $j < $i; $j++)
  8. {
  9. echo $sum[$j] . "<br />";
  10. }



Ten kod wyświetla 200 oraz 300, a jeśli w formularzu zaznaczę 3 opony i wybiorę letnie to powinno liczyć 3x cena letnich opon, podobnie z zimowymi oraz jak są zamawiane letnie oraz zimne

Go to the top of the page
+Quote Post
Cysiaczek
post
Post #4





Grupa: Moderatorzy
Postów: 4 465
Pomógł: 137
Dołączył: 26.03.2004
Skąd: Gorzów Wlkp.




Nadaj sensowny tytuł temu tematowi, albo go zamknę.


--------------------
To think for yourself you must question authority and
learn how to put yourself in a state of vulnerable, open-mindedness;
chaotic, confused, vulnerability, to inform yourself.
Think for yourself. Question authority.
Go to the top of the page
+Quote Post
lDoran
post
Post #5





Grupa: Zarejestrowani
Postów: 172
Pomógł: 13
Dołączył: 15.11.2009

Ostrzeżenie: (0%)
-----


zamówienie * ilość? sciana.gif
  1. $sum[$i] = $zamowienia[$typ] * $iloscopon;


Ten post edytował lDoran 20.08.2010, 12:36:39
Go to the top of the page
+Quote Post
daros17
post
Post #6





Grupa: Zarejestrowani
Postów: 233
Pomógł: 27
Dołączył: 27.08.2007

Ostrzeżenie: (0%)
-----


Dobrze i co mi da * ? Wtedy wyskakuje 0
Go to the top of the page
+Quote Post
lDoran
post
Post #7





Grupa: Zarejestrowani
Postów: 172
Pomógł: 13
Dołączył: 15.11.2009

Ostrzeżenie: (0%)
-----


a jak przekazujesz iloscopon z formularza do php? skąd php ma wiedzieć jaką mają wartość
Go to the top of the page
+Quote Post
daros17
post
Post #8





Grupa: Zarejestrowani
Postów: 233
Pomógł: 27
Dołączył: 27.08.2007

Ostrzeżenie: (0%)
-----


na początku wpisałem
  1. $iloscopon = $_POST['iloscopon'];
  2. $iloscoleju = $_POST['iloscoleju'];
  3. $iloscswiec = $_POST['iloscswiec'];
  4.  
  5. $letnie = $_POST['letnie'];
  6. $zimowe = $_POST['zimowe'];
  7.  
  8. dalsza czesc kodu i
  9.  
  10. $zamowienie["letnie"] = 200;
  11.  
  12. $zamowienie["zimowe"] = 300;
  13.  
  14. $i = 0;
  15. foreach( $zamowienie as $typ => $ilosc){
  16. $sum[$i] = $zamowienia[$typ] * $ilosc;
  17. $i++;
  18. }
  19.  
  20. for($j = 0; $j < $i; $j++)
  21. {
  22. echo $sum[$j] . "<br />";
  23. }


i też wyświetla 0


Ten post edytował daros17 20.08.2010, 13:06:43
Go to the top of the page
+Quote Post
lDoran
post
Post #9





Grupa: Zarejestrowani
Postów: 172
Pomógł: 13
Dołączył: 15.11.2009

Ostrzeżenie: (0%)
-----


przecież powinieneś $ilosc zamienić na $iloscopon z matematyki wynika, że jak coś mnożysz x 0 to wynik też jest 0
Go to the top of the page
+Quote Post
daros17
post
Post #10





Grupa: Zarejestrowani
Postów: 233
Pomógł: 27
Dołączył: 27.08.2007

Ostrzeżenie: (0%)
-----


@lDoran

Tak wiem teraz zauważyłem, dzięki za pomoc

Mam jeszcze pytanie
isset sprawdza czy zmienna jest pusta? jesli pusta lub wypełniona to zwraca true, jesli nie istnieje to false?

@arzach

Dzięki też za pomoc , prawidłowy kod
  1. $zamowienie["letnie"] = (isset($_POST['letnie']) ? 200 : 0);
  2. $zamowienie["zimowe"] = (isset($_POST['zimowe']) ? 300 : 0);
  3.  
  4. $opony = 0;
  5. foreach( $zamowienie as $typ => $ilosc){
  6. $opony += $zamowienie[$typ] * $iloscopon;
  7. }
  8.  
  9. echo $opony;


Ten post edytował daros17 20.08.2010, 13:24:05
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 22.08.2025 - 00:05