Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Formularz
Forum PHP.pl > Forum > Przedszkole
daros17
Witam,

Mam taki problem:

Ustawiłem takie stale i chcialbym aby liczylo mi kilka rzeczy:

  1. define('MALA', 4.5);
  2. define('SREDNIA', 6);
  3. define('DUZA', 8);
  4.  
  5. $wartosc = 0.00;
  6. $druga = $druga * DRUGAPIZZA;
  7. $cienka = $cienka * CIENKA1;
  8. $gruba = $gruba * GRUBA1;
  9. $wartosc = $druga + $cienka;
  10. $wartosc = $druga + $gruba;
  11. $wartosc = $cienka + $gruba + $druga + MALA;

Jesli w formularzu zaznaczam np: Cola 1l, ktora ma nazwe srednia to ma liczyc cene pizzy sredniej, grubej, oraz czy jest druga pizza oraz napoj maly sredni albo duzy:

jesli dopisze do kodu:

$wartosc = $cienka + $gruba + $druga + SREDNIA;

Wtedy jesli zaznacze Cola 0,5l ktora jest za 4,50 to i tak dostaje wynik za cole 1l.
Co jest do zmiany?
Pilsener
Zrezygnuj ze stałych, bo to tylko sieje zamęt - użyj np. tablicy ceny:
  1. $ceny['duza'] = 99;
  2. $ceny['mala'] = 66;


Reszty nie bardzo rozumiem:
Cytat
chcialbym aby liczylo mi kilka rzeczy
- to musisz użyć instrukcji warunkowych lub jeszcze lepiej, struktury case:
http://pl2.php.net/manual/pl/control-structures.switch.php

W zależności od wybranych/przekazanych danych wykonasz odpowiednie operacje matematyczne
daros17
W tej chwili mam tak:
  1. $wartosc = 0.00;
  2. $wartosc = $wartosc +$ceny;
  3.  
  4.  
  5. switch($pizze)
  6. {
  7. case'Margherita';
  8. echo $wartosc.'';
  9. }
  10.  
  11. $ceny['cienka1'] = 18;
  12. $ceny['cienka2'] = 21;
  13. $ceny['cienka3'] = 22;
  14. $ceny['cienka4'] = 23;
  15. $ceny['cienka5'] = 24;
  16. $ceny['cienka6'] = 26;
  17. $ceny['gruba1'] = 21;
  18. $ceny['gruba2'] = 23.50;
  19. $ceny['gruba3'] = 24.50;
  20. $ceny['gruba4'] = 25;
  21. $ceny['gruba5'] = 27;
  22. $ceny['gruba6'] = 30;
  23.  


Natomiast w formularzu mam:
  1. <select name="pizze">
  2. <option value="cienka1">pizza1</option>
  3. <option value="cienka1">pizza2</option>
  4. <option value="cienka2">pizza3</option>
  5. <option value="cienka3" selected="selected">test4</option>
  6.  


Niestety podaje mi wynik 0
Smertius
Bo liczysz $wartość za pomocą pustej zmiennej $ceny. Pierwsze musisz przypisać do niej jakieś wartości a później dopiero możesz liczyć cenę, a ty pierwsze liczysz i na końcu przypisujesz jej wartość. W dodatku $cena to tablica i musisz się odwołać do jakiegoś elementu w tej tablicy np. $cena['cienka1']
thomson89
  1. <input type="radio" name="cg" value="cienka">Cienka<br/>
  2. <input type="radio" name="cg" value="gruba">Gruba<br/>
  3. <select name="pizza">
  4. <option value="1">pizza1</option>
  5. <option value="2">pizza2</option>
  6. <option value="3">pizza3</option>
  7. <option value="4" selected="selected">test4</option>

  1. $wartosc = 0.00;
  2.  
  3. $ceny['cienka'][1] = 18;
  4. $ceny['cienka'][2] = 21;
  5. $ceny['cienka'][3] = 22;
  6. $ceny['cienka'][4] = 23;
  7. $ceny['gruba'][1] = 21;
  8. $ceny['gruba'][2] = 23.50;
  9. $ceny['gruba'][3] = 24.50;
  10. $ceny['gruba'][4] = 25;
  11.  
  12. $wartosc = $wartosc + $ceny[$_POST['cg']][$_POST['pizza']];


Nie wiem po co tam switcha pchałeś.
cim
Witam,

przy przetwarzaniu formularza przypominam o pętli: http://forum.php.pl/index.php?showtopic=13...mp;#entry695799

Pozdrawiam
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.