Miałem to napisać już dawno, dawno temu na specjalne życzenie, ale jakoś mi to z głowy wyleciało ;) Mam nadzieję, że osoba, która mi to zleciła się nie gniewa, że tak późno.
_______________________________
Komendy warunkowe if działają dokładnie tak samo jak funkcja JEŻELI w Exelu.
Przedstawie na najprostrzym przykładzie. Wyświetlanie tekstu dla adminów:
if(iADMIN) {
echo "Tekst wyświetlany tylko dla adminów";
} else {
echo "Tekst wyświetlany tym co nie są adminami";
}
Ten kod możnna odczytać w następujący sposób:
Jeżeli jesteś adminem to widzisz Tekst wyświetlany tylko dla adminów, ale jeżeli nie jesteś adminem to widzisz Tekst wyświetlany tym co nie są adminami.
To jest najprostrzy przykład użycia, ponieważ komenta iADMIN jest zdefiniowan już w pliku maincore. Komendy if możemy również użyć by dowiedzieć się czy zapytanie do bazy danych się powiodło. Przedstawie na przykładzie zapytania, z którego ostatnio korzystałem.
Zapytanie to dodaje nam nowe pole w tabeli eps_points:
<?php
$zapytanie = dbquery("INSERT INTO ".$db_prefix."eps_points VALUES ('6', 'Zdjecie', '5')");
if($zapytanie){
echo"Gotowe!";
}else{
echo"Błąd";
}
?>
I ta komenda szuka w dokumencie fragmentu $zapytanie, czyta go i jeśli jest prawidłowy i wszystko zostało wykonane prawidłowo wyświetla napis Gotowe, jeśli zaś coś nie wyszło wyświetli napis Błąd.
Jeśli chcemy, żeby do danej podstrony dostęp miał użytkownik z daną liczbą punktów to wystarczy takie zapytanie:
if(iMEMBER && show_points($userdata['user_id']) >= 250) {
echo "Treść dla usera, który ma 250 i więcej punktów";
} else {
opentable("Brak punktów");
echo "<center><b>Masz za mało punktów, żeby mieć tu dostęp.</b></center>";
closetable();
}
Jeśli chcemy zrobić kilka warunków w tym samym if'ie to wystarczy po pierwszy warunku dodać && jeśli chcemy trzy to po pierwszym i drugim dodać to && itd.
I tak można by wymieniać w nieskończoność, ale po co. Mam nadzieję, że po tym tutku większość Wam się rozjaśni. W razie pytań piszcie!
EDIT: Czas na uporządkowanie. Teraz dopisze komendy, które pojawiły się niżej w postach:
@Chomik:
elseif, czyli jeśli jeden warunek nie jest spełniony, to może drugi, jeśli nie pierwszy ani nie drugi to wyświetla komunikat.
if(waruunek) {
wtedy jest to
} elseif (warunke kolejny) {
wtedy jest to
} else {
na koniec jest to
}
elseif można powtarzać wielokrotnie.
@Domon:
"To lub to", czyli jeśli jeden warunek jest spełniony lub drugi warunek to wyświetla tekst za if, a jeśli żaden wyskakuje tekst po else:
if(iMEMBER || $result !=0 ) {
echo "Tekst ten widzi tylko użytkownik lub jeśli zmienna $result nie jest równa 0";
}else{
echo "Brak dostępu";
}
oczywiście tutaj trzeba wcześniej dodać zmienną $result.
~LukasAMD
Skrócona komenda if.
$tekst = (strlen($row['tekst']) > 50) ? $row['tekst'] : 'Za krótki tekst';
Czyli:
COS = WARUNEK ? JEŻELI_SPEŁNIONY : JEŻELI_NIESPEŁNIONY;
|