Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Formularz
daros17
post
Post #1





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

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


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?
Go to the top of the page
+Quote Post
Pilsener
post
Post #2





Grupa: Zarejestrowani
Postów: 1 590
Pomógł: 185
Dołączył: 19.04.2006
Skąd: Gdańsk

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


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
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%)
-----


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





Grupa: Zarejestrowani
Postów: 156
Pomógł: 31
Dołączył: 23.02.2009
Skąd: Sanok

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


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']
Go to the top of the page
+Quote Post
thomson89
post
Post #5





Grupa: Zarejestrowani
Postów: 1 178
Pomógł: 51
Dołączył: 7.01.2009
Skąd: Gdańsk

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


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


--------------------
Sklep 70%
Go to the top of the page
+Quote Post
cim
post
Post #6





Grupa: Zarejestrowani
Postów: 208
Pomógł: 28
Dołączył: 9.08.2004
Skąd: Stargard

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


Witam,

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

Pozdrawiam


--------------------
errare humanum est
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: 21.08.2025 - 03:18