1.分类表category的结构基本是id,name,parent_id三个主要字段组成2.需要打印显示成这样的表格格式
3.应该怎么编写php代码?(允许重新设计数据库表)
都定好3级了,什么才3级!?自己自连接2次就行了.
select c1.name "一级分类", c2.name "二级分类", c3.name "三级分类" from category c1 inner join category c2 on c1.id=c2.parent_id inner join category c3 on c2.id=c3.parent_id where c1.parent_id=0 #最高级;
这样就能得到你要的表.
php 无限级分类 数据库设计
数据库分为三张表:first_level, second_level, third_level
first_level, second_level, third_level
first_level: id, name; second_level: id, parent_id, name // second_level.parent_id = first_level.id third_level: id, parent_id, name // third_level.parent_id = second_level.id
先把3级数组遍历丢到2级子项数组,类似无限极逆向走
各位大神人家要的是php代码其实就是一个重新排序的问题一级分类下包含的二级和三级分类,
static public function toLevel($cate, $delimiter = '|——', $parent_id = 0, $level = 0) { $arr = array(); foreach ($cate as $v) { if ($v['parent_id'] == $parent_id) { $v['type'] = $level + 1; $v['delimiter'] = str_repeat($delimiter, $level); $arr[] = $v; $arr = array_merge($arr, self::toLevel($cate, $delimiter, $v['cate_id'], $v['type'])); } } return $arr; } 这个是我的无限极分类,你的三级分类和我类似,只要渲染前段的时候注意就好了
SQL里使用递归查询
都定好3级了,什么才3级!?自己自连接2次就行了.
这样就能得到你要的表.
php 无限级分类 数据库设计
数据库分为三张表:
first_level, second_level, third_level
先把3级数组遍历丢到2级子项数组,类似无限极逆向走
各位大神人家要的是php代码
其实就是一个重新排序的问题一级分类下包含的二级和三级分类,
SQL里使用递归查询