asp.net 多级分类(父类层级不定)

zestsnake 2020-07-21 09:54:55
需要实现着这样一个功能 。比如

办公用品(1级)
笔(2级)
红 10 1.2元 (3级)
蓝 10 2.5元 (3级)
印油(2级) 10 12元


打印纸 (2级)
80列 5 20元 (3级)
100列 6 30 元 (3级)


有的是3级分类,有的是2级分类 要统计下总的价格,该如何建库?(分类层级不一样,有的是3级,有的是2级)
...全文
8134 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
无限级别 组织结构树 2种模式 第一,主键自增量, 方便 ,查询递归。 缺点 想找某一个节点 或者反着差节点 都是递归 麻烦, 主键 父级主键 名字 价钱 第二, 自定义主键,按照需求扩充 第一层 01 第二层0101 第二层 010101 , 第一层第二个 02 第二层第二个 0202 依次类推, 缺点 最多99个 一级 如果设计为001 最多一级999个, 优点, 查询某一级别下 或者涉及权限 可以用LIKE 01% 来查找, 。 看你项目实际用到哪个。
HttpCookie 2020-07-24
  • 打赏
  • 举报
回复
表结果字段可以设计如下 id(主键) parentid(父级编号) name(名称) number(数量) money(金额) 一个表就瞒住所有的要求了 递归查找就行
三楼の郎 2020-07-23
  • 打赏
  • 举报
回复
GB/T2260 中华人民共和国行政区化代码的编码方式参考下,原理是一样的
  • 打赏
  • 举报
回复
递归查询。。。。。。
zestsnake 2020-07-21
  • 打赏
  • 举报
回复
引用 2 楼 正怒月神 的回复:
#1 说的对。
主要是一个自联表。
增加parent_ID来指向他的父类id


有的物品向上有两级,有的只有一级,怎么处理呢?
正怒月神 版主 2020-07-21
  • 打赏
  • 举报
回复
#1 说的对。 主要是一个自联表。 增加parent_ID来指向他的父类id
  • 打赏
  • 举报
回复
1 商品分类表, [int] class_id(主键id) ,[int]parent_id(父id :上一级的id, 如果是第一级为 0) ,name[nvchar(50)] (分类名称) ,level [int](级别第几级), [int] sort 排序,创建时间 datetime ..... 2. 商品表, [int] id (主键id), [int]class_id(关联id ), ,name[nvchar(50)] (商品名称) ,name[nvchar(50)] type_name (红、蓝、80列...) ,[int] num 数量, price [decimal(5,2)] 价钱 ....... 如果觉得满意请给分
lhz_dxm 2020-07-21
  • 打赏
  • 举报
回复
说白了,就是一张树形结构的表,可以通过父级的字段找到上下级关系。能支持无限级别的扩展
正怒月神 版主 2020-07-21
  • 打赏
  • 举报
回复
引用 5 楼 zestsnake 的回复:
[quote=引用 4 楼 正怒月神 的回复:][quote=引用 3 楼 zestsnake 的回复:][quote=引用 2 楼 正怒月神 的回复:]#1 说的对。 主要是一个自联表。 增加parent_ID来指向他的父类id
有的物品向上有两级,有的只有一级,怎么处理呢?[/quote] 一样的,因为顶层父级的parentid肯定是0,所以遍历到parentid=0的就是顶级父节点了。 或者你也可以像1楼写的那样,标注一个 level [int](级别第几级)[/quote] 还是有些不理解,能不能用几条记录举个例子,感谢[/quote] 我给你看一个比较相像的方案。 这是多级菜单的代码。 https://blog.csdn.net/hanjun0612/article/details/50563136
zestsnake 2020-07-21
  • 打赏
  • 举报
回复
引用 4 楼 正怒月神 的回复:
[quote=引用 3 楼 zestsnake 的回复:][quote=引用 2 楼 正怒月神 的回复:]#1 说的对。
主要是一个自联表。
增加parent_ID来指向他的父类id


有的物品向上有两级,有的只有一级,怎么处理呢?[/quote]
一样的,因为顶层父级的parentid肯定是0,所以遍历到parentid=0的就是顶级父节点了。
或者你也可以像1楼写的那样,标注一个 level [int](级别第几级)[/quote]

还是有些不理解,能不能用几条记录举个例子,感谢
正怒月神 版主 2020-07-21
  • 打赏
  • 举报
回复
引用 3 楼 zestsnake 的回复:
[quote=引用 2 楼 正怒月神 的回复:]#1 说的对。 主要是一个自联表。 增加parent_ID来指向他的父类id
有的物品向上有两级,有的只有一级,怎么处理呢?[/quote] 一样的,因为顶层父级的parentid肯定是0,所以遍历到parentid=0的就是顶级父节点了。 或者你也可以像1楼写的那样,标注一个 level [int](级别第几级)

62,243

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧