Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP]Tablica - dodawanie kilku wartości
Forum PHP.pl > Forum > Przedszkole
daros17
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?
lDoran
  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. }
daros17
  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

Cysiaczek
Nadaj sensowny tytuł temu tematowi, albo go zamknę.
lDoran
zamówienie * ilość? sciana.gif
  1. $sum[$i] = $zamowienia[$typ] * $iloscopon;
daros17
Dobrze i co mi da * ? Wtedy wyskakuje 0
lDoran
a jak przekazujesz iloscopon z formularza do php? skąd php ma wiedzieć jaką mają wartość
daros17
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
lDoran
przecież powinieneś $ilosc zamienić na $iloscopon z matematyki wynika, że jak coś mnożysz x 0 to wynik też jest 0
daros17
@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;
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.