您好,欢迎访问一九零五行业门户网

获取数据后如何排成这种形式!

但是这个肯定错了,但是不知道怎么去写啊,逻辑好乱,有大神帮忙吗?分不多,就一个意思!
我写错的:
$v){?> //循环大分类
$vv){ //循环小分类if ($vv['parentid']==$v['cate_id']){ //判断小分类的父分类?>

下面是图片的html:
酒店宾馆
新安东阁七经街店锦山大街店江城大街店
皇冠假日汉庭步行街月光百合万家酒店
凯日达宾馆艺海宾馆荣汇酒店龙苑温泉
汉庭站前店7天连锁子木屋日租假日阳光
中联酒店高尔夫会所尚客优快捷莱弗仕酒店
长城宾馆丽兹卡尔森虎跃酒店阿里郎宾馆
皇家凯旋董姐旅馆
便民工具
火车余票航班查询快递查询艺龙酒店预定
彩票开奖下厨房爱星座医药在线资讯
塔罗占卜

回复讨论(解决方案) 你的父类与子类在同一级吗?
你的$catelist的结构是什么样子的,贴出来。
你的父类与子类在同一级吗?
你的$catelist的结构是什么样子的,贴出来。
$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;
小分类应该是在大分类里面啊,为什么循环小分类的时候还是$catlist
foreach($catelist as $k=>$v)//大分类{ foreach($v['小分类'] as $k=>$v){};}


小分类应该是在大分类里面啊,为什么循环小分类的时候还是$catlist
foreach($catelist as $k=>$v)//大分类{ foreach($v['小分类'] as $k=>$v){};}


因为是同一级的,只是用字段来标示出子分类
所以下面才会出现判断分类的有等于父分类
if ($vv['parentid']==$v['cate_id']){ //判断小分类的父分类

那你这个逻辑上应该没有错啊,报什么错了吗?结果是什么样的?
那你这个逻辑上应该没有错啊,报什么错了吗?结果是什么样的?
结果是没能列出像图片那种样式
父子之间的级别关系对了吗?如果只是样式不对,那就是html的问题了
小分类应该是在大分类里面啊,为什么循环小分类的时候还是$catlist
foreach($catelist as $k=>$v)//大分类{ foreach($v['小分类'] as $k=>$v){};}


因为是同一级的,只是用字段来标示出子分类
所以下面才会出现判断分类的有等于父分类
if ($vv['parentid']==$v['cate_id']){ //判断小分类的父分类

逻辑上确实没有什么错,提示什么?
因为大分类下的子分类,每4个就是一个,
所以我写的现在不是这样的,是我不知道怎么写,这也是我要问的
本帖最后由 xuzuning 于 2013-11-27 20:23:23 编辑
foreach($catelist as $k=>$v){?> //循环大分类
foreach($catlist as $kk=>$vv){ //循环小分类
}}
你的数据是如何组织的?
难道不是将小分类聚集在相应的大分类下吗?
似你这样组织数据,循环小分类不是要做很多无效劳动吗?
第一步
foreach($catlist as $kk=>$vv){ //循环小分类 $vv['cate_name'] = $vv[cate_name; $new_catlist[$vv['parentid']][] = $vv; //按大分类聚类}


第二步
foreach($catelist as $k=>$v){ //循环大分类 //输出大分类数据 $t = $new_catlis[$v['cate_id']]; //取回自己的小分类数据 $t = array_chunk($t, 4); //按4个一组切开 echo ''; foreach($t as $x) { echo '' . join('', $x) . ''; } echo ''; //输出大分类剩余数据}


为清晰起见,简化了代码
意思到了就行
foreach($catelist as $k=>$v){?> //循环大分类
foreach($catlist as $kk=>$vv){ //循环小分类
}}
你的数据是如何组织的?
难道不是将小分类聚集在相应的大分类下吗?
似你这样组织数据,循环小分类不是要做很多无效劳动吗?
第一步
foreach($catlist as $kk=>$vv){ //循环小分类 $vv['cate_name'] = $vv[cate_name; $new_catlist[$vv['parentid']][] = $vv; //按大分类聚类}


第二步
foreach($catelist as $k=>$v){ //循环大分类 //输出大分类数据 $t = $new_catlis[$v['cate_id']]; //取回自己的小分类数据 $t = array_chunk($t, 4); //按4个一组切开 echo ''; foreach($t as $x) { echo '' . join('', $x) . ''; } echo ''; //输出大分类剩余数据}


为清晰起见,简化了代码
意思到了就行
大神,简化啥啊 不简化能看懂就不错了,问下 $new_catlist[$vv['parentid']][] = $vv;这里为什么有两个[][],一个不就够用了吗?新手求教,请多多指导
if ($vv['parentid']==$v['cate_id']){ //判断小分类的父分类
所以凡是 $vv['parentid'] 与大类的 $v['cate_id'] 相等的都属于同一大类
于是可以 $vv['parentid'] 的值为键来聚类小类
$k = $vv['parentid'];
$new_catlist[$k][] = $vv;
简写成
$new_catlist[$vv['parentid']][] = $vv;
foreach($catelist as $k=>$v){?> //循环大分类
foreach($catlist as $kk=>$vv){ //循环小分类
}}
你的数据是如何组织的?
难道不是将小分类聚集在相应的大分类下吗?
似你这样组织数据,循环小分类不是要做很多无效劳动吗?
第一步
foreach($catlist as $kk=>$vv){ //循环小分类 $vv['cate_name'] = $vv[cate_name; $new_catlist[$vv['parentid']][] = $vv; //按大分类聚类}


第二步
foreach($catelist as $k=>$v){ //循环大分类 //输出大分类数据 $t = $new_catlis[$v['cate_id']]; //取回自己的小分类数据 $t = array_chunk($t, 4); //按4个一组切开 echo ''; foreach($t as $x) { echo '' . join('', $x) . ''; } echo ''; //输出大分类剩余数据}


为清晰起见,简化了代码
意思到了就行
大神,简化啥啊 不简化能看懂就不错了,问下 $new_catlist[$vv['parentid']][] = $vv;这里为什么有两个[][],一个不就够用了吗?新手求教,请多多指导
建议看下php数组处理。
其它类似信息

推荐信息