$query=$db->query("select * from cate where weixin_id='".$weixin_id."' and display = 1 and parentid = 0 order by sortorder ASC"); $rows=$db->fetch_array($query) $catelist[]=$rows;
小分类应该是在大分类里面啊,为什么循环小分类的时候还是$catlistforeach($catelist as $k=>$v)//大分类 { foreach($v['小分类'] as $k=>$v){}; }
$rows=$db->fetch_array($query)
$catelist[]=$rows;
{
foreach($v['小分类'] as $k=>$v){};
}
因为是同一级的,只是用字段来标示出子分类
所以下面才会出现判断分类的有等于父分类if ($vv['parentid']==$v['cate_id']){ //判断小分类的父分类
因为是同一级的,只是用字段来标示出子分类
所以下面才会出现判断分类的有等于父分类if ($vv['parentid']==$v['cate_id']){ //判断小分类的父分类
逻辑上确实没有什么错,提示什么?
所以我写的现在不是这样的,是我不知道怎么写,这也是我要问的
foreach($data as $key=>$value){ if($value['pid'] == 0){//顶级大分类
$i = 1;
echo "<div class='catemenu'>";
echo "<div class='cname'>";
echo $value['name'] . "</div>";
echo "<ul><li>";
foreach($data as $k=>$v){
if($value['id'] == $v['pid']){
if($i % 5 == 0){
echo "<div class='clr'></div></li><li>";
}
echo "<a>" . $v['name'] . "</a>";
$i++;
}
}
if($i % 5 != 0){
echo "<div class='clr'></div></li>";
} echo "</ul></div>";
}}楼主,可以参考一下这段代码,跟你的是相似的,替换echo代码部分就ok了!
所以凡是 $vv['parentid'] 与大类的 $v['cate_id'] 相等的都属于同一大类
于是可以 $vv['parentid'] 的值为键来聚类小类
$k = $vv['parentid'];
$new_catlist[$k][] = $vv;
简写成
$new_catlist[$vv['parentid']][] = $vv;
建议看下PHP数组处理。