php从数据库查询结果生成树形列表的方法
发布时间:2020-12-12 20:50:33 所属栏目:PHP教程 来源:网络整理
导读:本篇章节讲解php从数据库查询结果生成树形列表的方法。供大家参考研究。具体分析如下: 本代码可以从数据库读取数据生成一个类似于windows的资源管理器的树形列表 0 ? 'show' : 'hide'); while (list($index,$node) = each($child_nodes[$parent]))
本篇章节讲解php从数据库查询结果生成树形列表的方法。分享给大家供大家参考。具体分析如下: 本代码可以从数据库读取数据生成一个类似于windows的资源管理器的树形列表 0 ? 'show' : 'hide');
while (list($index,$node) = each($child_nodes[$parent])) {
for ($i = 0; $i < $depth; $i++) {
$up_parent = (int)$node_data[$ancestors[$i]][ 'parent'];
$last_node_on_generation = $last_child[$up_parent];
$uptree_node_on_generation = $ancestors[$i];
if ($last_node_on_generation == $uptree_node_on_generation) {
icon( "blank");
} else {
icon( "line");
}
}
if ($child_nodes[$node]) {
// has children,i.e. it is a folder
$conn_icon = "plus";
$expand = true;
} else {
$conn_icon = "join";
$expand = false;
}
if ($index == $lastindex) {
$conn_icon .= "bottom";
} elseif ($depth == 0 && $index == 0) {
$conn_icon .= "top";
}
if ($expand) {
printf( "");
}
$icon = $node_data[$node][ 'icon'];
if (!$icon) {
$type = $node_data[$node][ 'type'];
$icon = $GLOBALS[ 'dirent_icons'][$type];
}
icon($icon,"nodeImg_$node");
$name = $node_data[$node][ 'name'];
printf( '?
',-1,$name,10); if ($child_nodes[$node]) { $newdepth = $showdepth; if ($newdepth > 0) { $newdepth--; } $new_ancestors = $ancestors; $new_ancestors[] = $node; display_directory($node,$newdepth,$new_ancestors); } } print( ""); } function setup_directory($parent,$maxdepth) { global $dirent_icons,$child_nodes,$last_child; $dirent_icons = sql_assoc('SELECT id,icon FROM dirent_types'); $query = 'SELECT id,icon,name '. 'FROM directory '. 'ORDER BY parent,name'; $child_nodes = array(); $node_data = array(); $res = sql($query); while (list($id,$type,$name)=db_fetch_row($res)){ $child_nodes[(int)$parent][] = $id; $node_data[$id] = array( 'id' => $id,'parent' => $parent,'type' => $type,'icon' => $icon,'name' => $name); $last_child[(int)$parent] = $id; } } ?> 希望本文所述对大家的php程序设计有所帮助。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |