我試圖建立一個導航,當用戶選擇一個類別,那麼導航將只顯示所選類別的子類別。如何顯示所選主要類別的子類別?
我是從URL得到一個變量傳遞作爲父ID,它看起來像這樣:
locolhost/store.php?c=2
我要找的應該像導航:
Parent
child
child
Parent
Parent
Parent
但是,目前我的代碼產生:
Parent
child
child
Parent
child
child
Parent
child
child
Parent
child
child
這裏是我當前的代碼:
shop.php
$parent_id = $_GET['p'];
include('navigation.php');
$navigation = new navigation;
print($navigation->main($parent_id));
navigation.php
public function main($parent)
{
/* PDO */
$array = $categoryVIEW->fetchAll(PDO::FETCH_ASSOC);
return $this->buildNav($array,$parent);
}
private function buildNav($array,$parent)
{
$html = '';
foreach($array as $item)
{
if($item['parent'] === NULL)
{
$html .= "\n<div class=\"parent\"><a href=\"?p=".$item['category_id']."\">".$item['category_name']."</a></div>\n";
$html .= "<div class=\"child\">\n";
$html .= $this->getChildren($array,$parent);
$html .= "</div>\n";
}
}
return $html;
}
private function getChildren($array,$parent)
{
$html = '';
foreach($array as $item)
{
if($item['parent']===$parent)
{
$html .= "\t<a href=\"?p=".$item['category_id']."\">".$item['category_name']."</a>\n";
}
}
return $html;
}
我只是簡單地調用名爲getChildren()
從buildNav()
這得到所有選定類別的兒童。我想我需要一個條件,只有當我想要顯示它的孩子的父母正在經歷循環時,纔會撥打getChildren()
...如果這有意義嗎?
這裏是我的數據庫:
我很困惑與你的標題和'curently我越來越:'部分 – Deepak
很抱歉的混亂,我的意思是,當我運行當前的代碼是輸出。 – Mike
你可以打印'parentid'以及你的輸出..仍然我無法弄清楚什麼是你的問題! – Deepak