0

我有一个 if 语句,当我的 mysql 表 = 服务器 uri 时,它会更改 css 类,但我无法让它工作。这是我的代码:

    $adminresults = mysql_query('SELECT * FROM menu_admin WHERE position="l"');
    $adminresults_array = array();
    while ($row = mysql_fetch_assoc($adminresults)) {
        $img = $row["img"];
        $href = $row["location"];
        $text = $row["name"];
        $uri = $_SERVER["REQUEST_URI"];
        if ($href == $uri){
        $output .= "<li class='active'><a href='$CFG->wwwroot/{$href}'><p class='cssimg'><img src='$CFG->wwwroot/theme/{$img}'/></p><p class='csstxt'>{$text}</p></a></li>";
        } else {
    $output .= "<li><a href='$CFG->wwwroot/{$href}'><p class='cssimg'><img src='$CFG->wwwroot/theme/{$img}'/></p><p class='csstxt'>{$text}</p></a></li>";
        }
}
}
echo "<link rel='stylesheet' href='/theme/css/styles.css' type='text/css'>
<div id='leftmain'>
<div class='cssmenu' align='left'>
<ul>{$output}</ul>
</div>
</div>";

位置将是文件名或文件名路径,例如 sitefolder/file.php

4

1 回答 1

0

我怀疑问题是$_SERVER["REQUEST_URI"]在 uri 的开头包含一个斜杠,而你的$href变量没有。

也许ltrim在比较之前在服务器 uri 上使用。像这样的东西:

$uri = ltrim($_SERVER["REQUEST_URI"],'/');
于 2013-05-13T05:06:51.773 回答