面包屑与子类别

时间:2015-11-21 19:06:47

标签: php

我想在我的网站上看到这样的痕迹:https://jsfiddle.net/pk88b9nb/

我的类别表格结构如下:id -- name -- parentid

当我使用下面的PHP代码时:

<ol>
  <li><a href="#">Home</a></li>
  <li>
  <?php
    $query = $handler->query("SELECT * from categories where id=".$_GET['id']."");
    while($r = $query->fetch())
    {
        echo "<a href=\"#\">$r[name]</a>";
    }
  ?>
  </li>
</ol>

结果是:Home / Category。 甚至子类别的结果是:Home / Subcategory

我希望将其设为Home / Category / Subcategory

我应该如何更改我的PHP代码?

1 个答案:

答案 0 :(得分:2)

你可以得到这个类别是否存在带有子查询的parentid

<ol>
  <li><a href="#">Home</a></li>
  <?php
    $query = $handler->query("SELECT *, (SELECT name FROM categories as s WHERE s.id = c.parentid) as category from categories as c where id= ".$_GET['id']."");
    while($r = $query->fetch())
    {
        if (!empty($r['category'])) echo "<li><a href=\"#\">$r[category]</a></li>";
        echo "<li><a href=\"#\">$r[name]</a></li>";
    }
  ?>
</ol>

您还应该转义sql查询中的$_GET变量以避免注入攻击。