Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]IF mniejszy lub wiekszy
honytowk
post
Post #1





Grupa: Zarejestrowani
Postów: 90
Pomógł: 3
Dołączył: 11.09.2008
Skąd: Gliwice

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


Witam, napisałem taki oto kod i wyświetla mi cały czas 20zł a rownowartosc zmiennej budzet wynosi 20000
Moje pytanie gdzie popełniłem błąd?
  1. if($dataaas['budzet'] < 500){
  2. echo"10 PLN";
  3. }elseif($dataaas['budzet'] > 500){
  4. echo"20 PLN";
  5. }elseif($dataaas['budzet'] > 1000){
  6. echo"40 PLN";
  7. }elseif($dataaas['budzet'] > 1500){
  8. echo"60 PLN";
  9. }elseif($dataaas['budzet'] > 2000){
  10. echo"70 PLN";
  11. }elseif($dataaas['budzet'] > 2500){
  12. echo"100 PLN";
  13. }elseif($dataaas['budzet'] > 4000){
  14. echo"150 PLN";
  15. }elseif($dataaas['budzet'] > 6000){
  16. echo"200 PLN";
  17. }elseif($dataaas['budzet'] > 10000){
  18. echo"250 PLN";
  19. }elseif($dataaas['budzet'] > 15000){
  20. echo"400 PLN";
  21. }elseif($dataaas['budzet'] > 20000){
  22. echo"700 PLN";
  23. }elseif($dataaas['budzet'] > 25000){
  24. echo"1000 PLN";
  25. }
Go to the top of the page
+Quote Post
wookieb
post
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Logika:
1) Czy 2000 jest mniejsze od 500? nie, ide dalej
2) czy 2000 jest wieksze od 500? tak, spoko robie to co jest w tym warunku.

Odpowiedź? Daj ją sobie sam.
Go to the top of the page
+Quote Post
darko
post
Post #3





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

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


bo 20000 > 500 i łapiesz drugi warunek, to już w tym przypadku lepiej switch i case zastosować
Go to the top of the page
+Quote Post
MateuszS
post
Post #4





Grupa: Zarejestrowani
Postów: 1 429
Pomógł: 195
Dołączył: 6.10.2008
Skąd: Kraków/Tomaszów Lubelski

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


bardziej precyzuj,

  1. elseif($dataaas['budzet']>500 and $dataaas['budzet'] <1000) {
  2. echo 'costam';
  3. }


i analogicznie dalej
Go to the top of the page
+Quote Post
b_chmura
post
Post #5





Grupa: Zarejestrowani
Postów: 813
Pomógł: 34
Dołączył: 18.03.2007
Skąd: o stamtąd

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


Przede wszystkim zainteresuj się funkcją switch() (IMG:style_emoticons/default/smile.gif)

Cytat
bardziej precyzuj,

[PHP]

1.
elseif($dataaas['budzet']>500 and $dataaas['budzet'] <1000) {
2.
echo 'costam';
3.
}

[PHP] pobierz, plaintext



i analogicznie dalej


ewentualnie ify ustaw od największego do najmniejszego (IMG:style_emoticons/default/smile.gif)

Ten post edytował b_chmura 23.11.2009, 22:21:25
Go to the top of the page
+Quote Post
Lion_87
post
Post #6





Grupa: Zarejestrowani
Postów: 850
Pomógł: 120
Dołączył: 15.02.2007
Skąd: Łódź

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


Kombinuj dalej... if mniejsze / większe...


@ UP UP UP UP lol....

Ten post edytował Lion_87 23.11.2009, 22:20:25
Go to the top of the page
+Quote Post
honytowk
post
Post #7





Grupa: Zarejestrowani
Postów: 90
Pomógł: 3
Dołączył: 11.09.2008
Skąd: Gliwice

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


wlasnie mozna jakos ukrucic ten skrypt? jak zastosowac te swith i case?
Go to the top of the page
+Quote Post
Lion_87
post
Post #8





Grupa: Zarejestrowani
Postów: 850
Pomógł: 120
Dołączył: 15.02.2007
Skąd: Łódź

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


Cytat
wlasnie mozna jakos ukrucic ten skrypt? jak zastosowac te swith i case?

zawsze też można do słownika zajrzeć...

Jak? tak jak wyżej w linku.
Go to the top of the page
+Quote Post
wookieb
post
Post #9





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




  1.  
  2. switch(true)
  3. {
  4.  
  5. case ($budzet<500): echo '10'; break;
  6. case ($budzet<1000): echo '20'; break;
  7.  
  8. itd...
  9.  
  10. }
Go to the top of the page
+Quote Post
darko
post
Post #10





Grupa: Zarejestrowani
Postów: 2 885
Pomógł: 463
Dołączył: 3.10.2009
Skąd: Wrocław

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


Może coś w ten deseń:

  1. //$dataaas['budzet'] = 500;
  2. $vals = array(500,500,1000,1500,2000,2500,4000,6000,10000,15000,20000,25000);
  3. $plns = array(10,20,40,60,70,100,150,200,250,400,700,1000);
  4. $hit = -1;
  5. for($i=0;$i<count($vals);$i++) {
  6. if($i!=0) {
  7. if($dataaas['budzet'] > $vals[$i]) {
  8. if($i < count($vals)) {
  9. $hit = $i;
  10. }
  11. else {
  12. $hit = count($vals);
  13. }
  14. }
  15. }
  16. else {
  17. if($dataaas['budzet'] < $vals[$i]) {
  18. $hit = $i;
  19. }
  20. }
  21. }
  22. echo $plns[$hit]." PLN";


ps. problem pojawia się, jeśli $dataaas['budzet'] wynosi równo 500, no ale tak chciałeś przecież sam nie uwzględniasz takiej kwoty

Ten post edytował darko 23.11.2009, 22:43:29
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: 15.09.2025 - 05:19