首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

无限级归类

2012-10-07 
无限级分类?递归程序 ?输出结果为 ?|___ title1 . . . |___ title2 . . .. . . |___ title5 . . .. . . |_

无限级分类
?无限级归类
递归程序

?无限级归类

输出结果为
?|___ title1 . . . |___ title2 . . . . . . |___ title5 . . . . . . |___ title6 . . . . . . |___ title7 . . . . . . |___ title9 . . . . . . |___ title10 . . . . . . . . . |___ title15 . . . . . . . . . . . . |___ title18 . . . . . . . . . . . . . . . |___ 111111 . . . . . . |___ title11 . . . |___ title3 . . . |___ title4 . . . |___ title16|___ title8|___ title12|___ title13|___ title14|___ title17|___ pc1


总结
1、ID和父ID之间的关系
从数据库和输出结果可以观察出,父ID为0的分类为顶级分类,之上再无父级
如title 1、8、12、13、14、17、pc1这几个都是顶级分类
而如title 2、3、4、16,他们的父ID为1,也就是title1的ID,则他们就是title1的子分类
而同时也有一些记录的父ID指定到title 2、3、4、16的ID上,所以title 2、3、4、16之中也有自己的子类
如title 2、10,上面有父级分类,下面也有子级分类

2、parentid = rs.getInt(1) ;
在showTree方法中,因为我们parentid初始值设定是0,所以第一次的结果获取到的应该是先把title1输出
然后接着parentid = rs.getInt(1),这句话就是说把title1的ID放到parentid里,title1的ID为1,所以这时候的parentid的值改变为1,这样下面的
showTree(parentid,level+1,sql) ;就会从parentid为1开始查询,查询title1的子分类,再把子分类的ID放到parentid里,又查询子分类的子子分类,以次类推下去,直到把所有的子类都查询出来为止。

个人认为递归是关键,理解好递归了才好做出来

热点排行