【发布时间】:2013-09-02 19:18:35
【问题描述】:
我有一个基于数据库填充的带有持久左导航的页面。我需要直观地标记与页面右侧当前呈现的内容相对应的菜单项。我在检查当前页面时遇到问题。 (我正在学习 PHP 并试图编辑别人的代码,这个人早就走了。)
这里是菜单的代码:
while( ( $row = mysql_fetch_array( $result ) ) && ( $count < $limit ) ) {
$count++;
echo "\t\t\t<li><a href=\"" . NEWS_URL . "?show=news&action=show&id=" . $row['id'] . "\" >" . stripslashes( $row['title'] ) . "</a></li>\n";
..等等。可以很好地生成菜单列表。 然后我想我想做的就是将这段代码生成的 URI 与当前加载的页面进行比较,以确定是否应该为当前页面添加 CSS 样式。
所以我尝试了这个:
echo "\t\t\t<li><a href=\"" . NEWS_URL . "?show=news&action=show&id=" . $row['id'] . "\" <?php if( $_SERVER['REQUEST_URI'] == "$this" ) echo " class=\"selected\""; ?>>" . stripslashes( $row['title'] ) . "</a></li>\n";
出现语法错误。所以尝试了这个:
echo "\t\t\t<li><a href=\"" . NEWS_URL . "?show=news&action=show&id=" . $row['id'] . "\" <?php if( $_SERVER['REQUEST_URI'] == $this ) echo " class=\"selected\""; ?>>" . stripslashes( $row['title'] ) . "</a></li>\n";
仍然有语法错误。所以尝试了这个:
echo "\t\t\t<li><a href=\"" . NEWS_URL . "?show=news&action=show&id=" . $row['id'] . "\" <?php if( $_SERVER['REQUEST_URI'] == $row['id'] ) echo " class=\"selected\""; ?>>" . stripslashes( $row['title'] ) . "</a></li>\n";
建议?
【问题讨论】:
-
澄清一下,您已将
NEWS_URL预定义为我信任的常量?
标签: php database menu compare uri