webForumDet fria alternativet
Logga in / Bli medlem

knepig if sats...

PHP

4 svar · 243 visningar · startad av mahedel

Medlem sedan juli 2002105 inlägg
Trådstart#1

TJO ALLA!

Jag tänkte fixa ihop en liten if sats inatt vid 03.30 tiden...

Jag var så seg då så jag kom inte på hur jag skulle bygga upp den... men även nu så är jag helt väck i skallen...

Tänkte använda mig av följande variabel: $login_rank

så ska den fungera:
$login_rank == 3 det är den högsta rankingen...

$login_rank == 2 ska kunna administrera allt förutom användare med $login_rank == 3

alltså allt under $login_rank == 2 ska $login_rank == 2 kunna administrera och $login_rank == 3 ska access till alla olika rankings....

hur får man detta att lyckas??

/MVH Martin

Medlem sedan nov. 2001274 inlägg
#2

Vet inte hur du menar med rankings, men om du på något sätt har dom i databaser så är det ju bara att byta sql-sats beroende på vad $login_rank innehåller? :)

Medlem sedan juli 2002105 inlägg
#3

har löst det tidigare såhär..

har löst problemet tidigare såhär:

if ($login_rank == 3 || $login_rank == 2)
echo "<a href=\"gb.php?username=$gb_owner&page=$page1&delete=$gb_id\"> Ta
bort inlägg</a> <font color=\"black\">|</font>
<a href=\"gb.php?username=$gb_owner&page=$page1&undodelete=$gb_id\"> Ta
tillbaka inlägg</a> <font color=\"black\">|</font>
<a href=\"gb.php?username=$gb_owner&page=$page1&edit=$info_id\">Redigera
inlägg</a><br><br>";
}

jag vill ha det på detta sett med if satser men kommer inte på hur jag ska lösa det bara...

/MVH Martin

Medlem sedan nov. 2001274 inlägg
#4

Borde inte det gå att lösa med en switch-sats istället?

switch ($login_rank) {
case 3:
//kör allt som är exklusivt för rank 3

case 2:
//kör allt som rank 2 och 3 får köra

case 1:
//kör allt som rank 1, 2 och 3 får köra
}

jag tror det funkar på det sättet i alla fall om man inte sätter något "break;" mellan de olika fallen.

Medlem sedan sep. 20021 655 inlägg
#5

Då får du skriva den så här istället:

<?

$login_rank = 3;

switch (true) {
    case ($login_rank>=3):
    //kör allt som är exklusivt för rank 3

    case ($login_rank>=2):
    //kör allt som rank 2 och 3 får köra

    case ($login_rank>=1):
    //kör allt som rank 1, 2 och 3 får köra
}

?>
254 ms totalt · 4 externa anrop · v20260731065814-full.51f67c91
125 ms — deklarationer (db)
0 ms — hämta statistik (cache)
126 ms — hämta tråd, inlägg och bilagor (db)
120 ms — ändringar (db)