这篇文章主要为大家详细介绍了服务器端编程语言(专业超文本预处理器的缩写)递归实现层级树状展开的相关资料,需要的朋友可以参考下
效果图:
实现代码:
?服务器端编程语言(专业超文本预处理器的缩写)
$db=mysql_connect('localhost ',' root ',' root ')或' die('无法连接到数据库');
mysql_select_db(“测试”)或' die('找不到数据库:测试’);
$result=mysql_query('从树中选择id、fid、名称');
while($ arr=MySQL _ fetch _ array($ result)){ 0
$data[]=数组(
id'=$arr['id'],
fid'=$arr['fid'],
name'=$arr['name'],
);
}
//将数据按照缩进简单排列见图一
函数data 2 RR($ tree,$rootId=0,$ level=0){ 0
foreach ($ tree as $ leaf){ 0
if($ leaf[' FID ']==$ rootId){ 0
echo str_repeat(',$level).$leaf['id'].$leaf['name'].br/';
foreach($ tree as $ l){ 0
if($ l[' FID ']==$ leaf[' id ']){ 0
data2arr($tree,$leaf['id'],$ level 1);
打破;
}
}
}
}
}
数据2 arr(数据);
回声“br/
//将数据按照所属关系封装见图2
函数arr2tree($tree,$ rootId=0){ 0
$ return=array();
foreach ($ tree as $ leaf){ 0
if($ leaf[' FID ']==$ rootId){ 0
foreach ($ tree as $ sub haf){ 0
if($ sub BAF[' FID ']=$ leaf[' id ']){ 0
$ leaf[' children ']=arr 2 tree($ tree,$ leaf[' id ']);
打破;
}
}
$ return[]=$ leaf;
}
}
退货$退货
}
$ tree=arr 2 tree($ data);
print _ r($ tree);
回声“br/
//将数据使用超文本标记语言再次展现见图3
函数树2 html($ tree){ 0
回声ul ';
foreach ($ tree as $ leaf){ 0
回声李.$ leaf[' name '];
if(!emptyempty($ leaf[' children ']))tree 2 html($ leaf[' children ']);
回声/李;
}
echo '/ul ';
}
tree 2 html($ tree);
总结:以上就是本篇文的全部内容,希望能对大家的学习有所帮助。
相关推荐:
服务器端编程语言(专业超文本预处理器的缩写)实现通过文件头判断格式的方法
服务器端编程语言(专业超文本预处理器的缩写)时间函数的用法及实例分析
服务器端编程语言(专业超文本预处理器的缩写)引用返回用法实例详解
以上就是服务器端编程语言(专业超文本预处理器的缩写)递归实现层级树状展开的方法的详细内容,更多请关注其它相关文章!