在IF Ese语句之后的MySQL中的Php Echo

时间:2012-10-12 21:50:34

标签: php mysql

最后一段代码是我的问题。我希望用户能够根据他们所在的页面看到不同的链接样式。该链接将是SQL表本身的if else语句。现在最大的问题是我已经使用echo变量来拉取链接,所以我不确定如何重新启动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'];

                }

My Enable for Enabled为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
}

很抱歉,如果我很难理解我在说什么;试图尽我所能地说出来。

1 个答案:

答案 0 :(得分: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;
            }
        }
    }
?>