永发信息网

ASP无限级分类中怎么判断是否是最底层的类别?

答案:4  悬赏:20  手机版
解决时间 2021-02-20 11:15
无限级分类数据库:
id classid title

id是这个分类的ID(自动编号)
classid 是上个分类的ID(父分类)
title 是栏目名称

假设我们这里有这些分类,我要限制父分类不能添加类别(也就是说每个栏目只能在最底层才能添加内容)

+一级栏目
+--二级栏目1
+--二级栏目2
+----三级栏目1
+----三级栏目2
+一级栏目2
+--二级栏目1-2
+一级栏目3
+--二级栏目1-3
+--二级栏目2-3
+----三级栏目1-2-3

以上假设最底层的分类分别是:三级栏目1、三级栏目2、二级栏目1-2、三级栏目1-2-3。哪位高手能写个函数来读取最底层的栏目?如需要更改或添加数据库的字段请一并详细指出。(详细写出代码并可行者,加200分)
最佳答案
楼主,你要求写出代码这个就不是三言两语搞得定了。。。

详细请看我最近开发的:www.ib2c.cn

采用了无限级分类,只能在最底层分类下才能添加商品

楼主你给的数据库字段并不足以达到要求,所以要加上几个字段

我的分类数据表的字段如下:
class_id '自动编号,同时是主索引
class_title '文本型,分类的名称
class_parentid '数字型,父节点的ID
class_parentname '文本型,父节点的名称
class_idpath '备注型,节点层次编号,以"/"号分隔
class_titlepath '备注型,节点层次名称编号,以"/"号分隔
class_order '节点排序

其中如果想要判断是不是最底层节点,只需判断在class_parentid中,当前选择的节点的ID是不是只有一条记录(因为如果在这个节点下有添加下级节点,则在class_parentid中肯定不止一条记录)

列了下我的数据库记录(为了能区分各这段,我用---来分隔各字段):
字段:
class_id---class_title---class_parentid---class_parentname---class_idpath---class_titlepath---class_order
数据库记录如下:

98---中国---0---顶级分类---0/98/---顶级分类/中国/---1

99---湖南省---98---中国---0/98/99/---顶级分类/中国/湖南省/---1

100---广东省---98---中国---0/98/100/---顶级分类/中国/广东省/---2

101---江西省---98---中国---0/98/101/---顶级分类/中国/江西省/---3

102---衡阳市---99---湖南省---0/98/99/102/---顶级分类/中国/湖南省/衡阳市/---1

104---湘潭市---99---湖南省---0/98/99/104/---顶级分类/中国/湖南省/湘潭市/---2

106---祁东县---102---衡阳市---0/98/99/102/106/---顶级分类/中国/湖南省/衡阳市/祁东县/---1

107---衡东县---102---衡阳市---0/98/99/102/107/---顶级分类/中国/湖南省/衡阳市/衡东县/---2

楼主,从上面的数据中你就可以看出,每个节点其class_idpath中,会有自己的class_id在内,所以这样的话你就可以通过class_idpath来查到,如果在class_idpath中有大于1条的记录存在,则肯定你选择的这个节点不是最底层节点(比如衡阳市,你可以看出,其class_id是102,而在class_idpath中,有好几条记录中存在102,还有class_parentid也是一样。。那么衡阳市这个节点就肯定不是最底层节点)

至于怎么去判断,楼主采用instr这个函数就行了
Instr(class_idpath,'/"&thexxid&"/')>0
其中的thexxid表示是你当前选择的这个节点的ID

补充:如果楼主存在其他问题,不防加我QQ:542940693,一起讨论哦(写这个无限级分类,我查了挺多资料,然后结合自己平时的一些经验,写了一整天才搞定的,自认为还是比较完美的一个解决办法了)
全部回答
17027271
你好! 楼上的那个网站不错啊 希望对你有所帮助,望采纳。
这类似于链表的数据结构。楼上的讲的很好啊。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
高中地理。越向高纬白昼越长对吗?
温泉路/通宝路(路口)我想知道这个在什么地方
请问欧标里的94/62/CE标准分别是什么,尤其是
今天 在一位男生车上 不小心和他接吻了怎么办
单选题设集合A是不大于10的质数,则集合A的元
爱情必须以物质为基础吗?
20分 “恰”同学少年 “怡”同学少年
移动手机服务密码不是初始密码怎么查
1967年旧历4月18日是什么星座
好运公寓地址有知道的么?有点事想过去
我刚学微商卖iPhone手机不知道怎么写广告词
请问,问一下上海中考的语文背诵篇目,
浙江智武光电科技园地址有知道的么?有点事想
水瓶座致命弱点分析一下,谢谢
冷水滩区永州冷水滩区渣土整治与管理办公室河
推荐资讯
满月的宝宝脖子前后长了很多小红点怎么办
北汽威旺M30S跟M20S到底升级了啥?
音响上大小喇叭的作用各是什么?为什么?
路虎原装275-40-20轮胎可以按285-40-20轮胎吗
飞机空气动力学简介论文
请问,男生为什么不喜欢肥胖的女生?,
请问DELL755的电脑,内存3G,硬盘160G,CPU
风信子会致癌吗?
坞垄源这个地址在什么地方,我要处理点事
在日常学习生活中,我们常会有这样的体会:当
钰的五行属性
橡木桶 里面 能在常温下 贮藏红酒吗
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?