Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Ograniczenie zakresu liczb
Forum PHP.pl > Forum > Przedszkole
Maker5
Witam,
mam teraz tak

  1. function h_getExtraNumber($number,$addNumber = false)
  2. {
  3. $number = str_replace(',', '.', $number);
  4.  
  5. $number = floatval($number);
  6. $extra = 0;
  7. if($number <= 10)
  8. {
  9. $extra = 1;
  10. }
  11. else if($number <= 20)
  12. {
  13. $extra = 2;
  14. }
  15. else if($number <= 30)
  16. {
  17. $extra = 3;
  18. }
  19. else
  20. {
  21. $extra = 10;
  22. }
  23.  
  24.  
  25. if(!$addNumber)
  26. {
  27. return $extra.',00';
  28. }
  29. else
  30. {
  31. return number_format($extra + $number,2,',','');
  32. }
  33. }


moje pytania:
1. jaki kod dodać aby ograniczyć liczbę do 50, czyli nie jako zamknąć przedział na 50 a jeśli ktoś poda 51 to formularz go nie przepuści i wyskoczy zdefiniowany błąd.
2. czy w tym kodzie $extra = 10; oznacza że do każdej liczby powyżej 30 jest doliczane dodatkowo automatycznie 10 ?

Dziękuję
sowiq
Cytat
1. jaki kod dodać aby ograniczyć liczbę do 50, czyli nie jako zamknąć przedział na 50 a jeśli ktoś poda 51 to formularz go nie przepuści i wyskoczy zdefiniowany błąd.

  1. if($numer > 50){
  2. throw new Exception('$numer > 50');
  3. }


Cytat
2. czy w tym kodzie $extra = 10; oznacza że do każdej liczby powyżej 30 jest doliczane dodatkowo automatycznie 10 ?

Nie. Jak widzisz jest jeszcze wcześniej warunek, po spełnieniu którego 10 nie zostanie doliczone.
  1. if(!$addNumber)
rocktech.pl
Witam.

Nie wiem co chcesz osiągnąć ale rzuć okiem na ten kod ..
1.
  1. $Num = 51;
  2. var_dump(filter_var($Num, FILTER_VALIDATE_INT, array('options' => array('min_range' => 0, 'max_range' => 50))));
Maker5
Cytat(sowiq @ 23.01.2013, 11:51:03 ) *
Nie. Jak widzisz jest jeszcze wcześniej warunek, po spełnieniu którego 10 nie zostanie doliczone.
  1. if(!$addNumber)


nie rozumiem, możesz wyjaśnić bardziej jaki warunek ?

Cytat(sowiq @ 23.01.2013, 11:51:03 ) *
  1. if($numer > 50){
  2. throw new Exception('$numer > 50');
  3. }


a teraz żeby jeszcze pokazało błąd, że trzeba podać liczbę mniejszą niż 50.
sowiq
  1. if(!$addNumber)
  2. {
  3. return $extra.',00'; // Tutaj jest spełniony warunek z nawiasu - nie ma dodawania
  4. }
  5. else
  6. {
  7. return number_format($extra + $number,2,',',''); // Tutaj warunek nie jest spełniony - jak widać w kodzie, jest dodawanie
  8. }


Cytat
a teraz żeby jeszcze pokazało błąd, że trzeba podać liczbę mniejszą niż 50.

  1. if($numer > 50){
  2. throw new Exception('Podaj liczbę mniejszą niż 50.');
  3. }

Co do komunikatu błędu to sorry, ale na głupie pytanie głupia odpowiedź. Przecież nikt nie wie w jaki sposób Twój system wyświetla użytkownikowi komunikaty błędów...
Maker5
Cytat(sowiq @ 23.01.2013, 14:39:03 ) *
  1. if(!$addNumber)
  2. {
  3. return $extra.',00'; // Tutaj jest spełniony warunek z nawiasu - nie ma dodawania
  4. }
  5. else
  6. {
  7. return number_format($extra + $number,2,',',''); // Tutaj warunek nie jest spełniony - jak widać w kodzie, jest dodawanie
  8. }



  1. if($numer > 50){
  2. throw new Exception('Podaj liczbę mniejszą niż 50.');
  3. }

Co do komunikatu błędu to sorry, ale na głupie pytanie głupia odpowiedź. Przecież nikt nie wie w jaki sposób Twój system wyświetla użytkownikowi komunikaty błędów...


nie działa, ktoś wpisuje wiecej niz 50 i przepuszcza dalej nie pokazujac zadnego komunikatu sad.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.