function catatree($parentid=0){
global $r;
echo '<ul>';
foreach($r AS $key=>$value){
if($parentid == $value["parentid"]){
?>
<li><div class="ul_info"><?php echo $value['pagename'];?></div>
<?php if($value["subcatas"]>0){
catatree($value['id']);
}?>
</li>
<?php
}
}
unset($parentid);
echo '</ul>';
unset($value);
}相关图片:其实在二级分类里面是有产品1-2的。不知道哪里出错了 没有显示 直接查找自己的子类 然后就没有了
global $r;
echo '<ul>';
foreach($r AS $key=>$value){
if($parentid == $value["parentid"]){
?>
<li><div class="ul_info"><?php echo $value['pagename'];?></div>
<?php if($value["subcatas"]>0){
catatree($value['id']);
}?>
</li>
<?php
}
}
unset($parentid);
echo '</ul>';
unset($value);
}相关图片:其实在二级分类里面是有产品1-2的。不知道哪里出错了 没有显示 直接查找自己的子类 然后就没有了
(
[0] => Array
(
[id] => 79
[rootid] => 74
[parentid] => 78
[subcatas] => 1
[pagename] => 产品1-1-1-1
[identity] => p1_1_1_1
)
[1] => Array
(
[id] => 80
[rootid] => 74
[parentid] => 78
[subcatas] => 3
[pagename] => 产品1-1-1-2
[identity] => p1_1_1_2
)
[2] => Array
(
[id] => 81
[rootid] => 74
[parentid] => 80
[subcatas] => 0
[pagename] => 产品1-1-1-2-1
[identity] => p1_1_1_2_1
)
[3] => Array
(
[id] => 83
[rootid] => 74
[parentid] => 78
[subcatas] => 0
[pagename] => 产品1-1-1-3
[identity] => p1_1_1_3
)
[4] => Array
(
[id] => 84
[rootid] => 74
[parentid] => 80
[subcatas] => 0
[pagename] => gdsgdsf
[identity] => dsfdsfsd
)
[5] => Array
(
[id] => 85
[rootid] => 74
[parentid] => 80
[subcatas] => 0
[pagename] => fdhfghdfgdfg
[identity] => dfgdfgsgsdf
)
[6] => Array
(
[id] => 86
[rootid] => 74
[parentid] => 78
[subcatas] => 0
[pagename] => fdhdfgdfgdfgdfgdfgdf
[identity] => dfgdfgdfgdfgdfgdf
)
[7] => Array
(
[id] => 87
[rootid] => 74
[parentid] => 79
[subcatas] => 0
[pagename] => dfgdfgfdgdfgdfgd
[identity] => dfgdfgdf76
)
[8] => Array
(
[id] => 74
[rootid] => 0
[parentid] => 0
[subcatas] => 2
[pagename] => 产品1
[identity] => p1
)
[9] => Array
(
[id] => 76
[rootid] => 74
[parentid] => 74
[subcatas] => 1
[pagename] => 产品1-1
[identity] => p1-1
)
[10] => Array
(
[id] => 78
[rootid] => 74
[parentid] => 76
[subcatas] => 4
[pagename] => 产品1-1-1
[identity] => p1_1_1
)
[11] => Array
(
[id] => 77
[rootid] => 74
[parentid] => 74
[subcatas] => 0
[pagename] => 产品1-2
[identity] => p1_2
)
)
因此一直是
$value[1]
$value[1][1]
$value[1][1][1]
直到底层
[subcatas] => 0
因此不执行
if($value["subcatas"]>0)
catatree($value['id']);假设你传入的参数 $parentid 是 78 ,那么接下来只会输出 $r[6]["parentid"] ,这样就结束了
{
if($parentid == $value["parentid"])
echo $value['pagename']; if($value["subcatas"]>0)
catatree($value['id']); }}
catatree($value['id']);
}?>
我对这个的理解是如果这个分类有子分类,那么就重新执行这个函数,但是循环到最后父ID的值变了,导致最后没有得到其他的分类,不知道这个有没有什么好的办法解决呢。