Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] kalkulator obliczanie
tenior
post
Post #1





Grupa: Zarejestrowani
Postów: 58
Pomógł: 2
Dołączył: 16.11.2008

Ostrzeżenie: (10%)
X----


Witam,
mam problem, dość nietypowy ponieważ część mi oblicza, a niektóre liczby nie
  1. <?php
  2. if ($_POST['wyslij']) {
  3. $slot = $_POST['sloty'];
  4. $czas = $_POST['czas'];
  5.  
  6.  
  7.  
  8. if($slot > 0 AND $slot < 15){
  9. $cena = 0.50; }
  10. if($slot > 16 AND $slot < 30){
  11. $cena = 0.40; }
  12. if($slot > 31 AND $slot < 50){
  13. $cena = 0.35; }
  14. if($slot > 51 AND $slot < 80){
  15. $cena = 0.30; }
  16. if($slot > 81 AND $slot < 100){
  17. $cena = 0.25; }
  18. if($slot > 101 AND $slot < 150){
  19. $cena = 0.20; }
  20. if($slot > 151 AND $slot < 200){
  21. $cena = 0.15; }
  22.  
  23. if($czas == "3") {
  24. $rabat = "0.03"; }
  25. if($czas == "6") {
  26. $rabat = "0.5"; }
  27. if($czas == "12") {
  28. $rabat = "0.10"; }
  29.  
  30. $cena1=$cena*$czas*$slot;
  31. $cena=$cena1-$cena1*$rabat;
  32. $rabat1=$cena1*$rabat;
  33.  
  34. $wyscene = round ($cena, 2);
  35. $wysrabat = round ($rabat1, 2);
  36. }
  37. ?>

dla przykładu 10 wyświetla a 100 nie, są też różne inne mieszaniny cyfr które wpiszę w $slot, jakieś pomysły?
Go to the top of the page
+Quote Post
Spawnm
post
Post #2





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




wywal " w $rabat
Go to the top of the page
+Quote Post
melkorm
post
Post #3





Grupa: Zarejestrowani
Postów: 1 366
Pomógł: 261
Dołączył: 23.09.2008
Skąd: Bydgoszcz

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


masz źle przedziały porobione :]
Dla 100 nie robi bo nei masz tej liczby uwzględnionej w warunkach, przeskakujesz ją, jest dla mneijszych od 100, czyli 99 i mneijsze, i dla większych od 101 czyli od 102 i więcej, chyba rozumiesz juz o co chodzi?
Go to the top of the page
+Quote Post
piotrooo89
post
Post #4


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




  1. <?php
  2. $rabat = "0.03";
  3. ?>


to są liczby... traktuj je tak, bo narazie u Ciebie są stringi.
Go to the top of the page
+Quote Post
melkorm
post
Post #5





Grupa: Zarejestrowani
Postów: 1 366
Pomógł: 261
Dołączył: 23.09.2008
Skąd: Bydgoszcz

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


Co nie zmienia faktu że to błędu nie generuje ;]

  1. <?php
  2. var_dump("0.1"*8);
  3. ?>
Go to the top of the page
+Quote Post
tenior
post
Post #6





Grupa: Zarejestrowani
Postów: 58
Pomógł: 2
Dołączył: 16.11.2008

Ostrzeżenie: (10%)
X----


tylko nie rozumiem jednej rzeczy, jak zrobić aby zachować te warunki?
Go to the top of the page
+Quote Post
melkorm
post
Post #7





Grupa: Zarejestrowani
Postów: 1 366
Pomógł: 261
Dołączył: 23.09.2008
Skąd: Bydgoszcz

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


no, operatorem większy - równy?, lub mniejszy - równy, jak wolisz.

  1. <?php
  2. if($slot > 81 AND $slot <= 100){
  3.    $cena = 0.25;
  4. }
  5. if($slot > 100 AND $slot <= 150){
  6.    $cena = 0.20;
  7. }
  8. ?>


itp.

Ten post edytował melkorm 20.03.2009, 21:09:28
Go to the top of the page
+Quote Post
piotrooo89
post
Post #8


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




  1. <?php
  2. if($slot > 0 AND $slot <= 15)
  3. {
  4.    $cena = 0.50;
  5. }
  6. elseif($slot > 15 AND $slot <= 30)
  7. {
  8.    $cena = 0.40;
  9. }
  10. elseif($slot > 30 AND $slot <= 50)
  11. {
  12.    $cena = 0.35;
  13. }
  14. elseif($slot > 50 AND $slot <= 80)
  15. {
  16.    $cena = 0.30;
  17. }
  18. elseif($slot > 80 AND $slot <= 100)
  19. {
  20.    $cena = 0.25;
  21. }
  22. elseif($slot > 100 AND $slot <= 150)
  23. {
  24.    $cena = 0.20;
  25. }
  26. elseif($slot > 150 AND $slot <= 200)
  27. {
  28.    $cena = 0.15;
  29. }
  30. ?>


to + to co Ci o stringach mówiłem.
Go to the top of the page
+Quote Post
tenior
post
Post #9





Grupa: Zarejestrowani
Postów: 58
Pomógł: 2
Dołączył: 16.11.2008

Ostrzeżenie: (10%)
X----


ok dziala, elseif nie wstawiłem bo nie uważam, żeby to było potrzebne skypt czy tak czy tak sie nie wykona, ostatecznym rozwiazeniem zrobilem tak:
  1. <?php
  2. if($slot >= 81 && $slot <= 100){
  3. $cena = 0.20; }
  4. if($slot >= 101 && $slot <= 150){
  5. $cena = 0.15; }
  6. ?>
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 25.12.2025 - 19:56