2015-11-21 102 views
2

我想在我的網站上的麪包屑是這樣的: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

請提供您的數據庫結構的詳細信息。即你有一個子類別表嗎?類別和子類別之間的關係是什麼? – Tristan

+0

正如我在我的文章中提到的:「我的分類表結構就是這樣的:'id - name - parentid'」 – Lukasz

回答

2

你可以得到的類別是有一個子查詢

<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變量,以避免注入攻擊的parentid。

+0

它是完美的。謝謝。 – Lukasz