PHP实现的无限类分类实现代码(递归方法)
首先,我们需要设计一个数据库。我们需要建立一个表来存储分类信息。我们至少需要3个方面,第一是主键(ID),二是父类ID(ParentID),和第三是分类名(类名)的一个可能的影响:
id parentId类名
10类一级分类
20一级分类B
31二级分类A
41二类B
主要思想:首先看第三行和第四行,类ID(ParentID)1是属于ID = 1一类的价值,和一个22线,因为它是一个分类,没有良好的分类,所以父类ID(ParentID)0是价值的主分类,依次类推实现无限级分类的最终效果:
只是分类A
就前两级A
就前两类B
只是分类B
然后这个程序,用PHP作为描述语言,可以很容易地转换成其他语言,因为原理是相似的,它是递归的。
复制代码代码如下所示:
< PHP
dbhost美元=localhost; / /数据库主机名
$和表=根; / /数据库用户名
$ N = 123456; / /数据库密码
北京美元测试; / /数据库名称
mysql_connect(dbhost美元美元美元,和表,N); / /主机连接
mysql_select_db($ dbname); / /选择数据库
mysql_query(设置names'utf8);
display_tree(只是
功能display_tree($标签,classid美元){
结果= mysql_query美元(
*选择
从ylmf_class
其中ParentID =。。classid美元。
;
);
而($行= mysql_fetch_array($结果)){
缩进的节点名
echo $标记。$行{ 'classname}。;
再次调用函数显示子节点
display_tree($标记。顶部
}
}
>
这种递归方法对大量的子系统和一些成熟的CMS系统都是一个负担,生成数组便于调用,也大大提高了效率。