Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Instrukcja warunkowa if...else


Rekomendowane odpowiedzi

Opublikowano

Witam mam pojęcie na temat tej instrukcji warunkowej ale potrzebuję pomocy z dość banalną sprawą -.- . Przechodząc do rzeczy, robię reputację na swojej stronie i potrzebuję instrukcji warunkowej do wartości ujemnych bo wartości dodatnie działają mi poprawnie ale jest dość spory problem przy wartościach ujemnych...

if($post['reputation'] == 0 && $post['reputation'] >=(-4))
{
$repka = "<br>Neutralny";
}
elseif($post['reputation'] > 0 && $post['reputation'] < 10)
{
$repka = "<br>Dobry";
}
elseif($post['reputation'] > 10 && $post['reputation'] < 100)
{
$repka = "<br>Bardzo Dobry";
}

elseif($post['reputation'] < -5 || $post['reputation'] >= (-19))
{
$repka = "<br>Zły";
}
elseif($post['reputation'] < (-20) || $post['reputation'] >= (-99))
{
$repka = "<br>Bardzo zły";
}
echo $repka;

 

No i chodzi o to, że jak mam reputacje -24 to nadal piszę "Zły" a chciałbym uzyskać efekt "Bardzo zły"...

Opublikowano

Po pierwsze: zamień < (-20) na <= -20 (inaczej -20 by się nie liczyła ponieważ nie spełnia ani tego warunku: jest większe lub równe -19, ani tego: jest większe od 20), a po drugie nie rozumiem czemu użyłeś operatora porównania or (||), a nie and(&&);

 

PS. Przez to że użyłeś || to w przypadku np. -2 warunek do bardzo złej reputacji też jest spełniany ponieważ -2 jest większe lub równe od -99...

PS2. Tak samo w przypadku -24. Będzie się wyświetlało Zły, ponieważ elseif($post['reputation'] < -5).   Jak w tym momencie przeniesiesz bardzo zły wyżej od złego to przy wartości poniżej 0 będzie ci wychodzić cały czas Bardzo zły. Warunek else if jest sprawdzany do pierwszego przypadku kiedy warunek jest spelniony. Potem opuszcza pozostałe... Popraw błedy i powinno chodzić

3587513.png


Potrzebujesz pomocy? Pisz śmiało na PW/Skype/Gadu-Gadu!


(albo napisz na forum... ^.^)

Opublikowano
//Mozesz zorbic np. tak
elseif(-19<=$post['reputation']&&$post['reputation']>-5)
{
$repka = "<br>Zły";
}
elseif(-99<=$post['reputation']&&$post['reputation']>-20)
{
$repka = "<br>Bardzo zły";
}


//Albo tak 

elseif(-20<=$post['reputation']&&$post['reputation']>-5)
{
$repka = "<br>Zły";
}
else
{
$repka = "<br>Bardzo zły";
}

Tutaj masz gotowca , powinno smigac ;]

    if( -4 <= $post['reputation'] && $post['reputation'] >=  0) $repka = "<br>Neutralny";
elseif(  1 <= $post['reputation'] && $post['reputation'] >  10) $repka = "<br>Dobry";
elseif( 10 <= $post['reputation'] && $post['reputation'] > 100) $repka = "<br>Dobry";
elseif(-20 <= $post['reputation'] && $post['reputation'] >  -4) $repka = "<br>Zły";
elseif(-99 <= $post['reputation'] && $post['reputation'] > -20) $repka = "<br>Bardzo zły";
Opublikowano

@up, zamiast else, można również napisać

 

elseif($post['reputation'] <= -20);

3587513.png


Potrzebujesz pomocy? Pisz śmiało na PW/Skype/Gadu-Gadu!


(albo napisz na forum... ^.^)

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...