php - 带有子类别的面包屑导航

标签 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/Subcategory

我想让它像首页/类别/子类别

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

最佳答案

如果有带有子查询的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 变量以避免注入(inject)攻击。

关于php - 带有子类别的面包屑导航,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33847426/

相关文章:

php - 如何在 YAML 中使用 API 平台过滤器?

php - 如何使用数组中的值通过2行比较来选择mysql中的表?

php - 从 PHP 插入 MySQL

php - 拉维尔 4.1 : Eloquent Offset & Limit

php - 如何将 unicode 字符转换为 unicode 十进制实体 php?

php - json_encode 中的 JSON_ERROR_RECURSION 意味着什么?

php - 如何使用 date() 在 php 中将时间戳转换为日期而不扭曲数据?

php - 如何将 php include 插入到 heredoc 变量中?

php - 如何将这个字符串分解成这样的数组?

php - 从原始 mysql 文件创建 sql 文件