我想在我的网站上看到这样的痕迹: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代码?
答案 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
变量以避免注入攻击。