无限级下拉列表实现起来不难,灵活运用递归算法就行了。
首先,设计数据库,创建一个表,里面存储分类信息,至少需要3个字段,第一个是主键(ID),第二个是父级分类ID(parentid),第三个是分类的名称(classname)。
可能的一种效果是:
ID PARENTID CLASSNAME
1 0 一级分类A
2 0 一级分类B
3 1 二级分类A
4 1 二级分类B
思路:首先看第三行和第四行,父类ID(PARENTID)的值是1,表示属于id=1这个类的子类,而,一,二两行因为是一级分类,没有上级分类,所以父类ID(PARENTID)的值是0,表示初级分类,依次类推便实现了无限级分类。
最终效果:
├一级分类A
├─┴二级分类A
├─┴二级分类B
├一级分类B
然后就是程序,这里以PHP作为描述语言,可以很方便的改成其他语言,因为原理相似,就是一个递归而已。
备注:使用递归方法,对于大量的子栏目效率会低,一些成熟的cms系统,都是采用生产数组的方式调用,以提高效率。
您可能感兴趣的文章:
php将地区分类排序的算法
使用php数组实现的无限分类(不使用数据库与用递归)
php写的一个递归实现无限分类生成下拉列表的函数
php与mysql实现的无限级分类
php把无限级分类生成数组的类
对ecshop中的无限级分类的分析
php实现的无极分类(递归)的代码