© 2005-2012 eXtreme-Fusion (based on PHP-Fusion) 18 lutego odbędzie się konferencja Skype - ogłosimy datę premiery eXtreme-Fusion 5. Zapisy (zostało 11 miejsc) przez maila - support[at]extreme-fusion.pl

 Reklama
Joi.pl - Z hostingu możesz wycisnšć więcej!
eX-Chat
 Logowanie
Login

Hasło

Zapamiętaj mnie



Rejestracja
Zapomniane hasło?
 Przydatne linki

eXtreme-fusion UK Support

Download EF 4.17 (stable)

Download EF 4.5 (closed)

eXtreme-Fusion 5 (info)

 Ostatnio widziani

 Tymcio00:07:09
 kapo00:22:10
 seba11200:35:44
 FoxNET00:48:49
 admiks01:25:17
 Wolfram01:31:28
 LynX01:43:05
 wolffmrau01:51:36
 Andrzejster01:51:41
 bubutm02:21:43
 zerono02:34:44
 shouichi02:54:54

Zarejestrowanych: 39,509
Gości on-line: 10

 Polecamy


Mapa witryny

Joi.pl - Profesjonalny hosting WWW
 Zobacz Temat
Centrum eXtreme-Fusion CMS, support extreme fusion, wtyczki, infusions, themes | FAQ | EF 4.0
Komendy warunkowe if || Dodane dnia 14-01-2010 13:19
Avatar Użytkownika

Andrzejster
Administrator


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; 

Wyślij Prywatną Wiadomość   
 Szybka Odpowiedź

Temat został zablokowany bądź nie zaakceptowałeś jeszcze regulaminu dostępnego TUTAJ