求一份节点分类的代码,实现增删改查功能
数据库为ProTyoe字段:ProTypeIDProTypeNameProType_ParID效果与下图类似:...
数据库为 ProTyoe
字段:
ProTypeID
ProTypeName
ProType_ParID
效果与下图类似: 展开
字段:
ProTypeID
ProTypeName
ProType_ParID
效果与下图类似: 展开
2012-11-09
展开全部
在我看来,要做成无限级分类,易如反掌。
1.设计数据库字段 :id , nam, parent_id(父id),path(表示父id间的关系的)
例如 表结构为:id : 1 ,nam:产品世界,parent_id:0,path: 0
id: 2, name:精品展示,parent_id :0, path:0
id: 3,name:手机数码,parent_id :0, path:0
id: 4, name:二级分类,parent_id:1,path: 0-1
id: 5, name: 三级分类, parent_id: 2, path :0-1-4
id: 6, name: 四级分类,parent_id: 3, path :0-1-4-5
select id,name,pid,path,concat(path,'-',id) as bpath from tablename order by bpath;
你会发现此时表结构变为了:
id : 1 ,nam:产品世界,parent_id:0,path: 0,bpath:0-1
id: 4, name:二级分类,parent_id:1,path: 0-1,bpath:0-1-4
id: 5, name: 三级分类, parent_id: 2, path :0-1-4, bpath:0-1-4-5
id: 6, name: 四级分类,parent_id: 3, path :0-1-4-5, bpath:0-1-4-5-6
id: 2, name:精品展示,parent_id :0, path:0, bpath:0-2
id: 3,name:手机数码,parent_id :0, path:0, bpath:0-3
多了一个bpath字段,但是顺序完全是按照级联关系的顺序。
只要把结果放在数组中,输出后就是你想要的结果了。
这个神奇的效果在于concat(path,'-',id)这句话,它把id和父id的关系连接起来了,所以谁的父id小就先排谁的,父id相同的,就排id小的。这就保证了父id小的在前面,大的在后面。
简单吧,比用递归效率高多了,数据库增加一个的字段往往顶上几百行代码。我们应该打破数据库字段越少越好的思维。
做好事,不留名。莫怪。
1.设计数据库字段 :id , nam, parent_id(父id),path(表示父id间的关系的)
例如 表结构为:id : 1 ,nam:产品世界,parent_id:0,path: 0
id: 2, name:精品展示,parent_id :0, path:0
id: 3,name:手机数码,parent_id :0, path:0
id: 4, name:二级分类,parent_id:1,path: 0-1
id: 5, name: 三级分类, parent_id: 2, path :0-1-4
id: 6, name: 四级分类,parent_id: 3, path :0-1-4-5
select id,name,pid,path,concat(path,'-',id) as bpath from tablename order by bpath;
你会发现此时表结构变为了:
id : 1 ,nam:产品世界,parent_id:0,path: 0,bpath:0-1
id: 4, name:二级分类,parent_id:1,path: 0-1,bpath:0-1-4
id: 5, name: 三级分类, parent_id: 2, path :0-1-4, bpath:0-1-4-5
id: 6, name: 四级分类,parent_id: 3, path :0-1-4-5, bpath:0-1-4-5-6
id: 2, name:精品展示,parent_id :0, path:0, bpath:0-2
id: 3,name:手机数码,parent_id :0, path:0, bpath:0-3
多了一个bpath字段,但是顺序完全是按照级联关系的顺序。
只要把结果放在数组中,输出后就是你想要的结果了。
这个神奇的效果在于concat(path,'-',id)这句话,它把id和父id的关系连接起来了,所以谁的父id小就先排谁的,父id相同的,就排id小的。这就保证了父id小的在前面,大的在后面。
简单吧,比用递归效率高多了,数据库增加一个的字段往往顶上几百行代码。我们应该打破数据库字段越少越好的思维。
做好事,不留名。莫怪。
云创
2023-07-25 广告
2023-07-25 广告
代码静态分析服务价格的制定考虑以下因素:1. 功能需求:不同的代码静态分析服务提供商提供的功能和服务不同,价格也会有所不同。如果需要的功能较多,或者需要定制化服务,价格可能会更高。2. 代码规模:代码规模越大,分析所需的时间和资源也会越多,...
点击进入详情页
本回答由云创提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询