-2

最后一段代码是我的问题。我希望用户能够根据他们所在的页面看到不同样式的链接。该链接将是来自 SQL 表本身的 if else 语句。现在最大的问题是我已经在使用回显变量来拉链接,所以我不确定如何在 SQL 表本身内部重新启动 if else。

<?php   
    $result=mysql_query("SELECT * FROM navigation WHERE enabled='1');
            while ($row=
            mysql_fetch_array($result))
                {

                echo $row['link'];

                }
?>

我想展示的是类似的东西

<?php   
    $result=mysql_query("SELECT * FROM navigation WHERE enabled='1' AND permissions >'1'");
            while ($row=
            mysql_fetch_array($result))
                {

                echo $row['link'];

                }

我的已启用变量为 1,因此如果变量设置为 0,则页面将被禁用。在此之后,它使用搜索您的用户权限

if ($admin != null)//Is Guest
if ($admin->get_permissions()==3)//Is Admin
elseif ($admin->get_permissions()==2)//Is VIP User
elseif ($admin->get_permissions()==1)//Is Registered User

我希望该链接仅根据其注册状态显示给用户,但我最大的问题在于这里。我希望我的用户根据他们所在的页面以某种方式查看导航,但是 SQL 表已经被查询并且已经作为变量导入,所以我将如何让它沿线显示

<?php
if (stripos($_SERVER['REQUEST_URI'], 'index.php')){
     echo '<p><a href="index.php" class="active">Home</a></p>';
}
else{
     echo '<p><a href="index.php">Index</a></p>';//<-Note the removed class index in this link
}

对不起,如果很难理解我在说什么;尽我所能把它说出来。

4

1 回答 1

4

您是否尝试过不结合查询并执行以下操作:

<?php
    $result=mysql_query("SELECT * FROM navigation WHERE enabled='1'");
    if ($result){
        while ($row=mysql_fetch_array($result)) {
            switch($row['permission']){
                //obv not real html tags!!!
                case 1: echo "<reg>".$row['link']."</reg>"; break; 
                case 2: echo "<vip>".$row['link']."</vip>"; break; 
                case 3: echo "<admin>".$row['link']."</admin>"; break;
                default: echo "<blank>no link</blank>"; break;
            }
        }
    }
?>
于 2012-10-12T22:06:10.730 回答