然后,数据表是怎么样的数据呢:
Array
(
[0] => Array
(
[category_id] => 211
[category_name] => 鞋柜
[parent_id] => 31
[listorder] => 200
[display] => 1
)
[1] => Array
(
[category_id] => 194
[category_name] => 相框/照片墙
[parent_id] => 189
[listorder] => 200
[display] => 1
)
[2] => Array
(
[category_id] => 193
[category_name] => 帘艺隔断
[parent_id] => 189
[listorder] => 200
[display] => 1
)
[3] => Array
(
[category_id] => 192
[category_name] => 沙发垫套/椅垫
[parent_id] => 189
[listorder] => 200
[display] => 1
)
[4] => Array
(
[category_id] => 191
[category_name] => 地毯地垫
[parent_id] => 189
[listorder] => 200
[display] => 1
)
[5] => Array
(
[category_id] => 190
[category_name] => 桌布/罩件
[parent_id] => 189
[listorder] => 200
[display] => 1
)
数据表数据是酱紫的;
然后,你能写出那个处理数组的方法吗,给你原数据,然后你用迭代处理成你想要的数据,不用太多,6行代码左右,你OK?
代码拷贝多了,人也就变傻了,知不知道???
//把栏目分组,以多维数组形式
public function group_category($id = 0)
{
$list=$this->where('display = 1')->order('listorder asc')->select();
$tmp = array();
foreach($list as $v){
if($v['parent_id'] == $id){
$v['childs'] = $this->group_category($v['category_id']);
$tmp[] = $v;
}
}
return $tmp;
}
为什么不把SQL语句放在外面作为参数传递进去函数groud_category函数呢?这样就不用老是查数据库啊。
无非也就是将父ID为0开始查询,然后对其子栏目的id在做为父ID进行查询,查询出属于其id的子栏目
更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《thinkPHP模板操作技巧总结》、《ThinkPHP常用方法总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》及《PHP模板技术总结》。
希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。







