下图中红色箭头是父类 而且属于根目录级别。

下面个字段为:ID  父ID  类型名称  深度  排序

前面3个字段没有什么可解释的,做过无限级分类设计的人都应该清楚

  而第5个字段排序字段ID:43的23排序代表他在这张表排在23的根目录

  而23下面的23,01 说明他是2级分类,排在23下面的第01个,也是支持99级分类。

  而我比较特殊的是多了个深度字段,大家可以看上图数据,

  ID:40的 深度字段也是40,ID:43的 深度字段也是43。

  而他们的下级子类,后面都跟了个 "," 加自己的ID。

  2级子类的深度字段就是(父类ID,自己ID),以此类推,3级分类深度就是(总父类ID,上级父类ID,自己ID),后面不用说了吧。

  看到这里可以在看看上面的图,因为我这个网站程序,只有2级分类而已。

  当然还有中间那个 "," 完全可以自己用自己喜欢的字符 你用 "|" "-" "_"一切字符都可以 但是建议一定要有个字符。

  是因为在程序里好分割开来,而且也很直观,完全可以自己在数据库修改分类数据(因为网站分类一般定了很少改动,第一次完全可以在数据库中加上所有分类)

  谈到这里,在来说说这个字段有什么功能和好处,咋一看这个字段好象很浪费资源,下面听我细细道来:

  在行业门户网站里经常有这样的需求,需要查出某个分类下的所有子分类,如果没有这个字段的话,

  那查出下面的所有字分类,SQL语句就应该要很长了,或者使用递归:根据1级父类ID查出所有2级分类--根据2级分类ID--查出所有3级分类,如果有多级分类的话,这样的递归效率可想而知。

  如果有这个字段(并且数据已对应加好),一切就变得美好多了,让你很轻松就能查出某个分类下所有的子类,下面看个图:

  有没有看明白,只需要带上条件,深度 like ‘40%’ 注意后面的%一定要带 这样才能查出包括自己在内所有的子类,如果不需要带上自己,我只要自己下面的所有子类,很简单,深度 like ‘40,' 只需要把%号换成你自己设定的分割符就行了(只就是我强调一定要分割符的作用)。

  这样是不是很轻松,而且如果后面带上 order by Nt_OrderBy 是不是自动就根据你数据库的排序数据 排好了序呢

  最后总结一下,虽然这个字段好用,但是在添加更新分类数据的同时,也往往加大了添加更新的逻辑程序,但是为了性能,为了SQL语句的方便,这一切是值得的。

转载于:https://www.cnblogs.com/xiaopohou/archive/2011/09/15/2176812.html

ASP.NET 无限级分类实现实例(深度字段)相关推荐

  1. ASP无限级分类代码

    数据库结构 表:分类 效果图 代码 <%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%> <% Option Exp ...

  2. 存储过程实现无限级分类(3)

    存储过程实现无限级分类(3) 最后一步显示分类(只是一条select语句) CREATE PROCEDURE sp_Column_List   AS SELECT Column_ID, Column_ ...

  3. php数组无限文类,php把无限级分类生成数组的类

    你是否遇到需要把无限级分类循环出来,是不是很头痛. 比如,要循环出一个SELECT,或一个TABLE,要写一大堆判断. 我的做法是生成数组,可以重复调用,直接循环数组就行了.为了方便,把它写成了类:c ...

  4. 无限级分类实现思路 (组织树的分级管理)

    2019独角兽企业重金招聘Python工程师标准>>> 关于该问题,暂时自己还没有深入研究,在网上找到几种解决方案,各有优缺点. 第一种方案: 使用递归算法,也是使用频率最多的,大部 ...

  5. .net简单算法实现无限级分类(一)

    在项目中我们往往需要实现无限级分类,而网上的.NET的例子不是很多,asp的倒是不少,这个算法是我根据网上的asp的例子在结合.net中的TREEVIEW控件来实现多级甚至无限级分类.      对于 ...

  6. 帖子回复——无限级分类

    若是QQ空间那种,这里无需再使用无限级分类. 而是帖子之下的评论回复使用字段标记分清从属后按时间排序就行 //根据回复评论表,查询出回复人和被回复人信息 select acrr.id,comment_ ...

  7. 用集合return多个值_Laravel + Nestedset 扩展:嵌套集合模型实现无限级分类

    一.两种分层数据模型 分层数据(Hierarchical Data),比如无限级分类菜单.省市区分级等,类似于树型数据结构,在 MySQL 等关系型数据库中不能很自然的展示这种父-子关系,常见的实现模 ...

  8. php无极分类非递归_php实现无限级分类(递归方法)

    相信很多学php的很多小伙伴都会尝试做一个网上商城作为提升自己技术的一种途径.各种对商品分类,商品名之类的操作应该是得心应手,那么就可以尝试下无限级分类列表的制作了. 到网上一搜php无限极分类,很多 ...

  9. php 怎么进行无限级查询,php如何实现无限级分类?

    在php中,可以利用递归算法并结合mysql数据表来实现无限级分类.下面本篇文章给大家介绍一下实现方法,有一定的参考价值,有需要的朋友可以参考一下,希望对大家有所帮助. 什么是无限级分类? 无限级分类 ...

最新文章

  1. python 列出出当前目录及所有子目录下的文件
  2. Markdown 语法说明
  3. Linux驱动编程中EXPORT_SYMBOL()介绍
  4. VTK:绘图之ChartsOn3DScene
  5. 源码安装mysql 5.1_Linux环境下源码编译安装MySQL5.1
  6. (HDU)1098 -- Ignatius's puzzle(Ignatius的困惑)
  7. Unity3D之NGUI基础1:NGUI插件介绍
  8. 2021-03-31【Caltech行人数据集的 .vbb 转 .xml 】(学习记录)
  9. cass小插件集合_CASS插件合集 - 下载 - 搜珍网
  10. 操作员或系统管理员拒绝了请求(0x800710E0) win10系统任务计划程序执行失败
  11. 程序员光学技术还不够?推荐一份运营书单给你品一品
  12. TCP3次握手为啥挥手却要4次,这下解释明白了
  13. android AudioRecord 音频录制 噪音消除
  14. 无人机——开源飞控简介
  15. python imp模块
  16. OpenStack 计算节点关机,虚拟机状态解决办法
  17. unity3d 摄像机跟随角色时 画面抽搐问题
  18. channel error; protocol method: #method<channel.close>(reply-code=406, reply-text=PRECONDITION_FAILE
  19. php 将百分数处理成小数点,php百分数如何转小数
  20. 6 Babylonjs基础入门 光源

热门文章

  1. 面试官:聊聊微信和淘宝扫码登录背后的实现原理?
  2. 厉害了!SpringBoot是如何动起来的!
  3. go初学者安装echo框架
  4. 12.C++:strtol() 字符串转长整型函数
  5. c语言作业皇帝的许诺,C语言函数大全(s开头) (1)/继
  6. 修改VMOS2的SID 并成为成员服务器,求助SAS9.4服务器版的sid!!!急急!
  7. 怎么用计算机的计算器转换进位制,计算器如何进行数值间的转换?
  8. 太赞了!华为《Linux中文手册》火了,完整版 PDF 开放下载!
  9. 上海市经济信息化委关于支持新建互联网数据中心项目用能指标的通知
  10. 腾讯数据中心负责人揭秘:半年时间如何搭好“山洞鹅厂”