这是我的代码:
function printBreadCrumb($id,$level=0) {
$levelNames=array('Year','Model','Serie','Maker');
$query = "SELECT * FROM category WHERE del=0 AND id=".$id." LIMIT 0,1";
$res = mysql_query($query) or die($query);
while ($row = mysql_fetch_array($res)) {
$link = "<a href=\"index.php?parent_id=".$row['parent_id'].
"\">".$levelNames[$level].":".$row['name']."</a>";
$bc .= $level==0 ? $link : $link . ' > ' ;
$parent_id = $row['parent_id'];
printBreadCrumb($parent_id,$level+1);
}
echo $bc."";
}
该功能正常,我可以看到正确的类别名称 我想要的:显示哪个levelName属于该项目。
例如:制造商:宝马&gt;意甲:3&gt;型号:320&gt;年:2009
现在我的代码只适用于最深的cateyory [Year]。如果我上升到一个级别,我会得到这个:
意甲:宝马&gt;型号:3&gt;年份:320
答案 0 :(得分:1)
我认为你的级别参数中的问题是你第一次传递给函数,因为代码很好。你应该检查你的功能调用。也许你总是用$ level = 0打电话。
此外,您应该删除,因为您始终只能获得一条记录。 而不是你应该使用简单的$ row = mysql_fetch_array($ res);