ASP.NET无限级分类之美好字段(深度字段)

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

下面个字段为: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级分类,如果有多级分类的话,这样的递归效率可想而知。

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

时间: 2024-12-24 00:49:59

ASP.NET无限级分类之美好字段(深度字段)的相关文章

ASP把无限级分类生成数组

数组 把无限级分类循环出来确实是一件头疼的事情.比如,我们要循环出一个SELECT,或一个TABLE,要写一大堆判断.有没好点的办法呢?我的做法是生成数组,可以重复调用,直接循环数组就行了.为了方便,我把它写成了类. class.asp 返回所有分类的数组,并按顺序排列有4个属性:set aa=new classlistaa.id="id"//编号的名称aa.classname="classname"//分类名称aa.pid="pid"//父ID

Asp.net 无限级分类实例代码_实用技巧

在网上找了很久也没有找到例子,没办法了,想偷懒也偷不成了,还是自己老老实实的写一个吧.不多废话,下面请看我做的详细方法. 1.无限级分类肯定要数据库支持啦,用户可以动态添加他们的分类嘛,下面是数据库的结构: 数据库主要有三个字段,这是最基本的了.第一个是主键,第二个是分类的名称了,第三个是父级目录id号. 2.成品的效果图:(大家最关心的是不是这个啊?看看是什么样子再看程序怎么吧) 看!!就长这个模样啦,这个层次关系就是上面那个数据所显示的结果.怎么样?还行吧... 3.最后就是提供程序咯,程序

asp飞飞无限级分类v1.0 Asp+sql+存储过程+ajax提供下载_应用技巧

本程序由 飞飞Asp乐园 ffasp.com 开发本程序官方下载网址http://www.ffasp.com/content.asp?newsid=945飞飞As!p技术乐园***能说明: 基于AJAX树状目录显示  支持灵活的 目录添加.删除.修改.排序.栏目备注.栏目移动[向上] 支持 栏目选择 使用说明: 默认首页: index.asp 可以进行 目录添加.删除.修改.排序.栏目备注.栏目移动[向上] 栏目选择测试页面:columnshow.asp 栏目选择函数调用说明: 需要引用函数页:

ASP查询无限级分类子栏目ID

问题描述 我写了一个查询无限级子栏目ID的函数,代码如下:Function ChildSort(Cuz,SortID) fSortID = Int(SortID)Set RsLs=server.CreateObject("adodb.recordset")Sql="Select SortID From [Cuz_"&Cuz&"Sort] where ParentID="&fSortID&" order b

asp飞飞无限级分类v1.0 Asp+sql+存储过程+ajax提供下载

本程序由 飞飞Asp乐园 ffasp.com 开发 本程序官方下载网址http://www.ffasp.com/content.asp?newsid=945飞飞As!p技术乐园 ***能说明: 基于AJAX树状目录显示  支持灵活的 目录添加.删除.修改.排序.栏目备注.栏目移动[向上] 支持 栏目选择 使用说明: 默认首页: index.asp 可以进行 目录添加.删除.修改.排序.栏目备注.栏目移动[向上] 栏目选择测试页面:columnshow.asp 栏目选择函数调用说明: 需要引用函数

asp实现无限级分类的方法js版_ASP基础

MenuArr=new Array()MenuLenArr=new Array()SubMenuArr=new Array()MenuIdArr=new Array()MenuArr[1]="<%call top11%>" //洲名|||...MenuArr[2]="<%call top1%>" //洲名###国名|||...MenuIdArr[1]="zhou"MenuIdArr[2]="author"

asp实现无限级分类的方法js版

MenuArr=new Array() MenuLenArr=new Array() SubMenuArr=new Array() MenuIdArr=new Array() MenuArr[1]="<%call top11%>" //洲名|||... MenuArr[2]="<%call top1%>" //洲名###国名|||... MenuIdArr[1]="zhou" MenuIdArr[2]="auth

asp无限级分类加js收缩伸展功能代码

为了方便使用分类,我定义了一个分类表category,里面字段是id(自动编号)  cat_name(分类名) parent_id(父ID,对应本表ID) cat_order(顺序) is_show(是否显示)  u_id(这个用来区别是新闻分类,还是产品分类,还是其他分类),为了方便,我将这些分类全部放在这张表中.在给客户添加分类的时候,结果有太多的分类,本来前台显示的时候,将它们全部显示出来了,好长.客户提出修改意见,要求将它们改成点击大分类,才可以将其子分类显示出来,并且每个分类下面还有一

ASP.NET实现无限级分类

在我们做网站的时候,不管是新闻系统还是产品系统,或者是博客,论坛等等,都少不了与分类打交道.有时候我们经常说分几级分类,一般分2-3级,具体视情况而定,但是这样的做法非常死板,不够灵活,因为不是任何类别下的分类都有子类,孙类--,为了能够使分类灵活,我们经常采用的是无限级分类. 无限级分类主要思路有两种:一是使用递归:二就是非递归,我比较喜欢这种,毕竟效率是关键. 表结构设计: 首先建立一个分类表Category: 设计如下: --ParentID 父节点的ID --CategoryPath 节