【问题标题】:PHP Dynamic menu highlight from database数据库中的 PHP 动态菜单突出显示
【发布时间】:2013-05-13 20:07:50
【问题描述】:

我一直在为基于 1 页的客户制作网站,并且链接指向不同的类别或文章。我根据这样的 URL 参数显示内容,

<a href="index.php?cat_id=<?php echo $category['cat_id']" >

通常根据页面做一个导航突出显示我会做这样的事情,

PHP

<ul>
    <li <?php if($pagename == "index.php"){ echo 'class="selected"'; } ?>>
        <a href="index.php">Home</a>
    </li>
    <li <?php if($pagename == "about.php"){ echo 'class="selected"'; } ?>>
        <a href="about.php">About</a>
    </li>
    <li <?php if($pagename == "services.php"){ echo 'class="selected"'; } ?>>
         <a href="services.php">Services</a>
    </li>
<ul>

但是我的 URLS 是来自数据库的动态,就像这样,

PHP

<ul>
    <li><a href="index.php">Home</a></li>
    <?php while ($category = $statement->fetch()) { ?>
        <li><a href="index.php?cat_id=<?php echo $category['cat_id']; ?>"><?php echo $category['cat_name']; ?></a></li>
    <?php 
         }  
    ?>
</ul>

所以我想知道当 URL 包含该参数 id 时,如何将类 selected 添加到链接 cat_id 中?提前感谢您的帮助!

【问题讨论】:

    标签: php database url navigation highlight


    【解决方案1】:

    如果类别 ID 不随时间变化:

    if($_GET['category_id'] == "1" ){ echo 'class="selected"'; }
    

    如果类别 ID 会随时间发生变化,您将需要执行预查询以获取类别 ID 到页面的映射。然后您可以执行以下操作:

    if($_GET['category_id'] == $categories['home_page'] ){ echo 'class="selected"'; }
    

    【讨论】:

      【解决方案2】:
      <?php if($category['cat_id']==$_GET['cat_id']){ echo 'class="selected"';}?>
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-05-09
        • 1970-01-01
        • 2013-02-11
        • 1970-01-01
        • 1970-01-01
        • 2011-07-09
        • 1970-01-01
        • 2013-08-08
        相关资源
        最近更新 更多