Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [HTML][PHP] Cena uzależniona od zamawianejilości
Forum PHP.pl > Forum > Przedszkole
-Marcin-
Witam

Mam prośbę o pomoc w rozwiązaniu problemu.
Chcę zrobić formularz/kalkulator (bez BD), który po wpisaniu w wielu polach różnych ilości produktów sumuje je i oblicza kwotę.

Ilość zsumowałem w kodzie:
  1. $ilosc = $produkt_0001 + $produkt_0002 + $produkt_0003; + $produkt_0004; + $produkt_0005; + $produkt_0006; + $produkt_0007; + $produkt_0008; + $produkt_0009;
itd...

Ponieważ jest kilka grup cenowych wartość zsumowałem poprzez:
  1. $wartosc = CENAKOLEKCJA1 * ($produkt_0001 + $produkt_0003 + $produkt_0003)
  2. + CENAKOLEKCJA2 * ($produkt_0004 + $produkt_0005 + $produkt_0006)
  3. + CENAKOLEKCJA3 * ($produkt_0007 + $produkt_0008 + $produkt_0009);
  4.  
itd...

Co teraz mam zrobić aby po zsumowaniu ilości w kilkudziesięciu polach brana była cena:
  1. if( $ilosc < 99 )
  2. $CENAKOLEKCJA1 = 1.55;
  3. $CENAKOLEKCJA2 = 1.95;
  4. $CENAKOLEKCJA3 = 1.95;
  5. $CENAKOLEKCJA4 = 1.95;
  6. $CENAKOLEKCJA5 = 1.25;
  7. $CENAKOLEKCJA6 = 1.20;
  8. $CENAKOLEKCJA7 = 1.85;
  9. elseif( $ilosc >= 100 && $ilosc <= 199 )
  10. $CENAKOLEKCJA1 = 1.35;
  11. $CENAKOLEKCJA2 = 1.85;
  12. $CENAKOLEKCJA3 = 1.85;
  13. $CENAKOLEKCJA4 = 1.85;
  14. $CENAKOLEKCJA5 = 1.15;
  15. $CENAKOLEKCJA6 = 1.00;
  16. $CENAKOLEKCJA7 = 1.75;
itp...
b4rt3kk
Nie rozumiem pytania, jak ma być brana cena? To że masz formularz rozumiem, zawiera pola do wpisywania ilości, a produkty są tam wpisane na sztywno czy tak? Ceny również na sztywno każdego produktu? Jeśli się mylę to pokaż jeszcze kod formularza/kalkulatora.
-Marcin-
Wszystko o co pytasz napisałem wyżej. Mam formularz z kilkudziesięcioma nazwami np. Produkt 1 i polem do wpisania ilości (input)
Formularz przetwarza zsumowaną ilość ze wszystkich pól i oblicza cenę tak jak już wspomniałem biorąc ją ze względu na zamawianą ilość z przedziałów do 99 szt. 100-199szt. itd.
Szymciosek
Pokaż cały kod i powiedz prosto co ma to robić ?
Liczyć kwotę za zamówienie tak ? W przypadku, gdy zamówień jest więcej, klient dostaje rabat, przez co ceny są niższe tak ?
b4rt3kk
Cytat(-Marcin- @ 16.10.2012, 19:43:08 ) *
Wszystko o co pytasz napisałem wyżej. Mam formularz z kilkudziesięcioma nazwami np. Produkt 1 i polem do wpisania ilości (input)
Formularz przetwarza zsumowaną ilość ze wszystkich pól i oblicza cenę tak jak już wspomniałem biorąc ją ze względu na zamawianą ilość z przedziałów do 99 szt. 100-199szt. itd.


Tak własnie, a gdzie tu teraz jest pytanie? Dalej nie wiem co chcesz osiągnąć.
-Marcin-
Poniżej masz pytanie

Cytat(-Marcin- @ 16.10.2012, 18:31:46 ) *
Co teraz mam zrobić aby po zsumowaniu ilości w kilkudziesięciu polach brana była cena:
  1. if( $ilosc < 99 )
  2. $CENAKOLEKCJA1 = 1.55;
  3. $CENAKOLEKCJA2 = 1.95;
  4. $CENAKOLEKCJA3 = 1.95;
  5. $CENAKOLEKCJA4 = 1.95;
  6. $CENAKOLEKCJA5 = 1.25;
  7. $CENAKOLEKCJA6 = 1.20;
  8. $CENAKOLEKCJA7 = 1.85;
  9. elseif( $ilosc >= 100 && $ilosc <= 199 )
  10. $CENAKOLEKCJA1 = 1.35;
  11. $CENAKOLEKCJA2 = 1.85;
  12. $CENAKOLEKCJA3 = 1.85;
  13. $CENAKOLEKCJA4 = 1.85;
  14. $CENAKOLEKCJA5 = 1.15;
  15. $CENAKOLEKCJA6 = 1.00;
  16. $CENAKOLEKCJA7 = 1.75;
itp...


Przy takim zapisie jest błąd bo zapewne tak się tego nie robi.
Przedziały ilościowe wpływające na cene to np.
$ilosc < 99
$ilosc >= 100 && $ilosc <= 199
i dla jednego i dla drugiego przedziału są różne ceny (w tym różne grupy cen CENAKOLEKCJA1,CENAKOLEKCJA1 itd)

b4rt3kk
Tu używasz stałych:

  1. $wartosc = CENAKOLEKCJA1 * ($produkt_0001 + $produkt_0003 + $produkt_0003)
  2. + CENAKOLEKCJA2 * ($produkt_0004 + $produkt_0005 + $produkt_0006)
  3. + CENAKOLEKCJA3 * ($produkt_0007 + $produkt_0008 + $produkt_0009);


a tu używasz zmiennych:

  1. if( $ilosc < 99 )
  2. $CENAKOLEKCJA1 = 1.55;
  3. $CENAKOLEKCJA2 = 1.95;
  4. $CENAKOLEKCJA3 = 1.95;
  5. $CENAKOLEKCJA4 = 1.95;
  6. $CENAKOLEKCJA5 = 1.25;
  7. $CENAKOLEKCJA6 = 1.20;
  8. $CENAKOLEKCJA7 = 1.85;
  9. elseif( $ilosc >= 100 && $ilosc <= 199 )
  10. $CENAKOLEKCJA1 = 1.35;
  11. $CENAKOLEKCJA2 = 1.85;
  12. $CENAKOLEKCJA3 = 1.85;
  13. $CENAKOLEKCJA4 = 1.85;
  14. $CENAKOLEKCJA5 = 1.15;
  15. $CENAKOLEKCJA6 = 1.00;
  16. $CENAKOLEKCJA7 = 1.75;


dopisz dolara przed stałymi.
-Marcin-
Dziękuję b4rt3kk za cierpliwość.
Błąd, który mi wskazałeś to niestety pozostałość po moich wcześniejszych próbach naprawienia kodu.
Nadal wydawa mi błąd
Parse error: syntax error, unexpected T_ELSEIF
przy każdym z:
  1. elseif( $ilosc >= 100 && $ilosc <= 199 )
  2. $CENAKOLEKCJA1 = 1.80;
Szymciosek
Pokaż cały kod jaki masz teraz najświeższy. Łatwiej byłoby go uruchomić itd.
-Marcin-
Sorki nie widziałem Twojego wcześniejszego postu:
  1. <?php
  2. $produkt0102 = $_POST['produkt0102'];
  3. $produkt0103 = $_POST['produkt0103'];
  4. $produkt0106 = $_POST['produkt0106'];
  5. $produkt0107 = $_POST['produkt0107'];
  6. $produkt0108 = $_POST['produkt0108'];
  7. $produkt0109 = $_POST['produkt0109'];
  8. $produkt0110 = $_POST['produkt0110'];
  9. $produkt1101 = $_POST['produkt1101'];
  10. $produkt1102 = $_POST['produkt1102'];
  11. $produkt1103 = $_POST['produkt1103'];
  12. $produkt1104 = $_POST['produkt1104'];
  13. $produkt1105 = $_POST['produkt1105'];
  14. $produkt1106 = $_POST['produkt1106'];
  15. $produkt1107 = $_POST['produkt1107'];
  16. $produkt1108 = $_POST['produkt1108'];
  17. $produkt1201 = $_POST['produkt1201'];
  18. $produkt1202 = $_POST['produkt1202'];
  19. $produkt1203 = $_POST['produkt1203'];
  20. $produkt1204 = $_POST['produkt1204'];
  21. $produkt1205 = $_POST['produkt1205'];
  22. $produkt1206 = $_POST['produkt1206'];
  23. $produkt1207 = $_POST['produkt1207'];
  24. $produkt1208 = $_POST['produkt1208'];
  25. $produkt1209 = $_POST['produkt1209'];
  26. $produkt1210 = $_POST['produkt1210'];
  27. $produkt1301 = $_POST['produkt1301'];
  28. $produkt1302 = $_POST['produkt1302'];
  29. $produkt1303 = $_POST['produkt1303'];
  30. $produkt1304 = $_POST['produkt1304'];
  31. $produkt1305 = $_POST['produkt1305'];
  32. $produkt1306 = $_POST['produkt1306'];
  33. $produkt0601 = $_POST['produkt0601'];
  34. $produkt0602 = $_POST['produkt0602'];
  35. $produkt0603 = $_POST['produkt0603'];
  36. $produkt0605 = $_POST['produkt0605'];
  37. $produkt0308 = $_POST['produkt0308'];
  38. $produkt0309 = $_POST['produkt0309'];
  39. $produkt0314 = $_POST['produkt0314'];
  40. $produkt0315 = $_POST['produkt0315'];
  41. $produkt0316 = $_POST['produkt0316'];
  42. $produkt0317 = $_POST['produkt0317'];
  43. $produkt0318 = $_POST['produkt0318'];
  44. $produkt0319 = $_POST['produkt0319'];
  45. $produkt0320 = $_POST['produkt0320'];
  46. $produkt0321 = $_POST['produkt0321'];
  47. $produkt1401 = $_POST['produkt1401'];
  48. $produkt1402 = $_POST['produkt1402'];
  49. $produkt1403 = $_POST['produkt1403'];
  50. $produkt1404a = $_POST['produkt1404a'];
  51. $produkt1404b = $_POST['produkt1404b'];
  52. $produkt1405 = $_POST['produkt1405'];
  53. $produkt1406 = $_POST['produkt1406'];
  54. $produkt1408 = $_POST['produkt1408'];
  55. $produkt1409 = $_POST['produkt1409'];
  56. $produkt1410 = $_POST['produkt1410'];
  57. $produkt1411 = $_POST['produkt1411'];
  58. $produkt1412 = $_POST['produkt1412'];
  59. $produkt1413 = $_POST['produkt1413'];
  60.  
  61. ?>
  62. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  63. <html xmlns="http://www.w3.org/1999/xhtml">
  64. <head>
  65. <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
  66. <meta http-equiv="Content-Language" content="pl" />
  67. <title>Kalkulator</title>
  68. </head>
  69. <body>
  70. <h1>Produkty 2012</h1>
  71. <h2>Wyniki zapytania</h2>
  72. <?php
  73.  
  74. echo '<p>Zapytanie wygenerowane o ';
  75. echo date('H:i, jS F Y');
  76. echo '</p>';
  77.  
  78. echo '<p>Państwa wycena wygląda następująco: </p>';
  79. echo '<p>Kolekcja I<br />';
  80. echo $produkt0102.' produktów0102<br />';
  81. echo $produkt0103.' produktów0103<br />';
  82. echo $produkt0106.' produktów0106<br />';
  83. echo $produkt0107.' produktów0107<br />';
  84. echo $produkt0108.' produktów0108<br />';
  85. echo $produkt0109.' produktów0109<br />';
  86. echo $produkt0110.' produktów0110<br /></p>';
  87. echo '<p>Kolekcja II<br />';
  88. echo $produkt1101.' produktów1101<br />';
  89. echo $produkt1102.' produktów1102<br />';
  90. echo $produkt1103.' produktów1103<br />';
  91. echo $produkt1104.' produktów1104<br />';
  92. echo $produkt1105.' produktów1105<br />';
  93. echo $produkt1106.' produktów1106<br />';
  94. echo $produkt1107.' produktów1107<br />';
  95. echo $produkt1108.' produktów1108<br /></p>';
  96. echo '<p>Kolekcja III<br />';
  97. echo $produkt1201.' produktów1201<br />';
  98. echo $produkt1202.' produktów1202<br />';
  99. echo $produkt1203.' produktów1203<br />';
  100. echo $produkt1204.' produktów1204<br />';
  101. echo $produkt1205.' produktów1205<br />';
  102. echo $produkt1206.' produktów1206<br />';
  103. echo $produkt1207.' produktów1207<br />';
  104. echo $produkt1208.' produktów1208<br />';
  105. echo $produkt1209.' produktów1209<br />';
  106. echo $produkt1210.' produktów1210<br /></p>';
  107. echo '<p>Kolekcja IV<br />';
  108. echo $produkt1301.' produktów1301<br />';
  109. echo $produkt1302.' produktów1302<br />';
  110. echo $produkt1303.' produktów1303<br />';
  111. echo $produkt1304.' produktów1304<br />';
  112. echo $produkt1305.' produktów1305<br />';
  113. echo $produkt1306.' produktów1306<br /></p>';
  114. echo '<p>Kolekcja V<br />';
  115. echo $produkt0601.' produktów0601<br />';
  116. echo $produkt0602.' produktów0602<br />';
  117. echo $produkt0603.' produktów0603<br />';
  118. echo $produkt0605.' produktów0605<br /></p>';
  119. echo '<p>Kolekcja VI<br />';
  120. echo $produkt0308.' produktów0308<br />';
  121. echo $produkt0309.' produktów0309<br />';
  122. echo $produkt0314.' produktów0314<br />';
  123. echo $produkt0315.' produktów0315<br />';
  124. echo $produkt0316.' produktów0316<br />';
  125. echo $produkt0317.' produktów0317<br />';
  126. echo $produkt0318.' produktów0318<br />';
  127. echo $produkt0319.' produktów0319<br />';
  128. echo $produkt0320.' produktów0320<br />';
  129. echo $produkt0321.' produktów0321<br /></p>';
  130. echo '<p>Kolekcja VII<br />';
  131. echo $produkt1401.' produktów1401<br />';
  132. echo $produkt1402.' produktów1402<br />';
  133. echo $produkt1403.' produktów1403<br />';
  134. echo $produkt1404a.' produktów1404a<br />';
  135. echo $produkt1404b.' produktów1404b<br />';
  136. echo $produkt1405.' produktów1405<br />';
  137. echo $produkt1406.' produktów1406<br />';
  138. echo $produkt1408.' produktów1408<br />';
  139. echo $produkt1409.' produktów1409<br />';
  140. echo $produkt1410.' produktów1410<br />';
  141. echo $produkt1411.' produktów1411<br />';
  142. echo $produkt1412.' produktów1412<br />';
  143. echo $produkt1413.' produktów1413<br />';
  144.  
  145. $ilosc = 0;
  146. $ilosc = $produkt0102 + $produkt0103 + $produkt0106; + $produkt0107; + $produkt0108; + $produkt0109; + $produkt0110; + $produkt1101; + $produkt1102; + $produkt1103; + $produkt1104; + $produkt1105; + $produkt1106; + $produkt1107; + $produkt1108; + $produkt1201; + $produkt1202; + $produkt1203; + $produkt1204; + $produkt1205; + $produkt1206; + $produkt1207; + $produkt1208; + $produkt1209; + $produkt1210; + $produkt1301; + $produkt1302; + $produkt1303; + $produkt1304; + $produkt1305; + $produkt1306; + $produkt0601; + $produkt0602; + $produkt0603; + $produkt0605; + $produkt0308; + $produkt0309; + $produkt0314; + $produkt0315; + $produkt0316; + $produkt0317; + $produkt0318; + $produkt0319; + $produkt0320; + $produkt0321; + $produkt1401; + $produkt1402; + $produkt1403; + $produkt1404a; + $produkt1404b; + $produkt1405; + $produkt1406; + $produkt1408; + $produkt1409; + $produkt1410; + $produkt1411; + $produkt1412; + $produkt1413;
  147. echo 'Wszystkich produktów: '.$ilosc. '<br />';
  148.  
  149. $wartosc = 0.00;
  150.  
  151. if( $ilosc <49 )
  152. $CENAKOLEKCJA1 = 1.80;
  153. $CENAKOLEKCJA2 = 2.30;
  154. $CENAKOLEKCJA3 = 2.30;
  155. $CENAKOLEKCJA4 = 2.30;
  156. $CENAKOLEKCJA5 = 1.50;
  157. $CENAKOLEKCJA6 = 1.35;
  158. $CENAKOLEKCJA7 = 2.20;
  159. elseif( $ilosc >= 50 && $ilosc <= 99 )
  160. $CENAKOLEKCJA1 = 1.80;
  161. $CENAKOLEKCJA2 = 2.30;
  162. $CENAKOLEKCJA3 = 2.30;
  163. $CENAKOLEKCJA4 = 2.30;
  164. $CENAKOLEKCJA5 = 1.50;
  165. $CENAKOLEKCJA6 = 1.35;
  166. $CENAKOLEKCJA7 = 2.20;
  167. elseif( $ilosc >= 100 && $ilosc <= 249 )
  168. $CENAKOLEKCJA1 = 1.60;
  169. $CENAKOLEKCJA2 = 2.10;
  170. $CENAKOLEKCJA3 = 2.10;
  171. $CENAKOLEKCJA4 = 2.10;
  172. $CENAKOLEKCJA5 = 1.35;
  173. $CENAKOLEKCJA6 = 1.20;
  174. $CENAKOLEKCJA7 = 2.00;
  175. elseif( $ilosc >= 250 && $ilosc <= 499 )
  176. $CENAKOLEKCJA1 = 1.45;
  177. $CENAKOLEKCJA2 = 1.95;
  178. $CENAKOLEKCJA3 = 1.95;
  179. $CENAKOLEKCJA4 = 1.95;
  180. $CENAKOLEKCJA5 = 1.25;
  181. $CENAKOLEKCJA6 = 1.10;
  182. $CENAKOLEKCJA7 = 1.85;
  183. elseif( $ilosc >= 500 && $ilosc <= 999 )
  184. $CENAKOLEKCJA1 = 1.35;
  185. $CENAKOLEKCJA2 = 1.85;
  186. $CENAKOLEKCJA3 = 1.85;
  187. $CENAKOLEKCJA4 = 1.85;
  188. $CENAKOLEKCJA5 = 1.15;
  189. $CENAKOLEKCJA6 = 1.00;
  190. $CENAKOLEKCJA7 = 1.75;
  191. elseif( $ilosc >= 1000 )
  192. $CENAKOLEKCJA1 = 1.30;
  193. $CENAKOLEKCJA2 = 1.80;
  194. $CENAKOLEKCJA3 = 1.80;
  195. $CENAKOLEKCJA4 = 1.80;
  196. $CENAKOLEKCJA5 = 1.10;
  197. $CENAKOLEKCJA6 = 0.95;
  198. $CENAKOLEKCJA7 = 1.70;
  199.  
  200. $wartosc = $CENAKOLEKCJA1 * ($produkt0102 + $produkt0103 + $produkt0106 + $produkt0107 + $produkt0108 + $produkt0109 + $produkt0110)
  201. + $CENAKOLEKCJA2 * ($produkt1101 + $produkt1102 + $produkt1103 + $produkt1104 + $produkt1105 + $produkt1106 + $produkt1107 + $produkt1108)
  202. + $CENAKOLEKCJA3 * ($produkt1201 + $produkt1202 + $produkt1203 + $produkt1204 + $produkt1205 + $produkt1206 + $produkt1207 + $produkt1208 + $produkt1209 + $produkt1210)
  203. + $CENAKOLEKCJA4 * ($produkt1301 + $produkt1302 + $produkt1303 + $produkt1304 + $produkt1305 + $produkt1306)
  204. + $CENAKOLEKCJA5 * ($produkt0601 + $produkt0602 + $produkt0603 + $produkt0605)
  205. + $CENAKOLEKCJA6 * ($produkt0308 + $produkt0309 + $produkt0314 + $produkt0315 + $produkt0316 + $produkt0317 + $produkt0318 + $produkt0319 + $produkt0320 + $produkt0321)
  206. + $CENAKOLEKCJA7 * ($produkt1401 + $produkt1402 + $produkt1403 + $produkt1404a + $produkt1404b + $produkt1405 + $produkt1406 + $produkt1408 + $produkt1409 + $produkt1410 + $produkt1411 + $produkt1412 + $produkt1413);
  207.  
  208. echo 'Cena netto: '.number_format($wartosc, 2).' PLN<br />';
  209. $stawkavat = 0.23; //stawka VAT wynosi 23%
  210. $wartosc = $wartosc * (1 + $stawkavat);
  211. echo 'Cena brutto '.number_format($wartosc, 2).' PLN<br />';
  212.  
  213. ?>
  214.  
  215. </body>
  216. </html>


Wiem, że można to zapisać pewnie mądrzej ale dopiero się uczę.
b4rt3kk
  1. if( $ilosc <49 ) {
  2. $CENAKOLEKCJA1 = 1.80;
  3. $CENAKOLEKCJA2 = 2.30;
  4. $CENAKOLEKCJA3 = 2.30;
  5. $CENAKOLEKCJA4 = 2.30;
  6. $CENAKOLEKCJA5 = 1.50;
  7. $CENAKOLEKCJA6 = 1.35;
  8. $CENAKOLEKCJA7 = 2.20; }
  9. elseif( $ilosc >= 50 && $ilosc <= 99 ) {
  10. $CENAKOLEKCJA1 = 1.80;
  11. $CENAKOLEKCJA2 = 2.30;
  12. $CENAKOLEKCJA3 = 2.30;
  13. $CENAKOLEKCJA4 = 2.30;
  14. $CENAKOLEKCJA5 = 1.50;
  15. $CENAKOLEKCJA6 = 1.35;
  16. $CENAKOLEKCJA7 = 2.20; }
  17. elseif( $ilosc >= 100 && $ilosc <= 249 ) {
  18. $CENAKOLEKCJA1 = 1.60;
  19. $CENAKOLEKCJA2 = 2.10;
  20. $CENAKOLEKCJA3 = 2.10;
  21. $CENAKOLEKCJA4 = 2.10;
  22. $CENAKOLEKCJA5 = 1.35;
  23. $CENAKOLEKCJA6 = 1.20;
  24. $CENAKOLEKCJA7 = 2.00; } // itd.


wszędzie zapominasz o klamerkach.
-Marcin-
Hehe no ładnie
Dziękuję za pomoc smile.gif
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.