手机
当前位置:查字典教程网 >编程开发 >php教程 >PHP树的代码,可以嵌套任意层
PHP树的代码,可以嵌套任意层
摘要:PHP树的代码,可以嵌套任意层

PHP树的代码,可以嵌套任意层 <?

file://建立树的主要函数,传递的参数为根节点的编号和根节点的标题

function create_tree($rootid,$roottilte){

print_parent_from_rootsortid($rootid,$roottilte);

}

file://打印根节点div头的函数

function print_parent_from_rootsortid($rootid,$roottilte){

$parent_fullname="R".$rootid."Parent"; file://div 父级区别标志

$parent_id="R".$rootid;

$parent_pic="R".$rootid."img";

echo "

<DIV class=parent id=$parent_fullname><A

href="http://www.csdn.net/expert/menu.shtm#"

onclick="expandIt('$parent_id'); return false"><IMG border=0 height=13 id=$parent_pic

src="image/folderclosed000.gif" width=19>$roottilte</A></DIV>";

global $cursor_tree;

$Bottom_Flag=0;

$len=strlen($rootid)+2; file://子级编码为父级编码长度加2

$query = "SELECT ResourceSortNo,ResourceSortName,SectionBottomFlag

From TbSort

Where length(ResourceSortNo)=$len and ResourceSortNo like '$rootid%'"; file://sql查询语句

ora_parse($cursor_tree, $query) or die;

ora_exec($cursor_tree);

$child_fullname="R".$rootid."Child"; file://div 子级区别标志

echo "<DIV class=child id=$child_fullname>"; file://打印一个div子级头

while(ora_fetch($cursor_tree)){

$Sort_No= trim(ora_getcolumn($cursor_tree,0));

$Sort_Title = trim(ora_getcolumn($cursor_tree,1));

$Bottom_Flag= trim(ora_getcolumn($cursor_tree,2));

print_child_from_rootsortid($Sort_Title,$Sort_No, $Bottom_Flag); file://循环调用打印子级编码函数

}

echo "</DIV>";

}

file://判断是否是末级标志,并且打印子级编码的函数

function print_child_from_rootsortid($Section_Title,$Section_No,$Bottom_Flag){

global $num;

$len=2*$num+2;

for($j=0;$j<$len;$j++){

echo " ";

} file://输出节点之间间距空格的循环

if($Bottom_Flag==1){

echo "

<IMG border=0 height=13 src="image/folderclosed000.gif" width=19>

<A href="http://www.csdn.net/expert/exchange.asp" target=forum>$Section_Title</A><BR>";

}else{

$p_id="R".$Section_No;

$p_pic="R".$Section_No."img";

echo "

<IMG border=0 height=13 id=$p_pic src="image/folderclosed000.gif" width=19>

<A href="http://www.csdn.net/expert/exchange.asp" onclick="expandIt('$p_id'); return false">$Section_Title</A><BR>";

$child_fullname="R".$Section_No."Child";

echo "<DIV class=child id=$child_fullname>"; file://打印div子标志头

find_allchild_from_rootsortid($Section_No); file://查找子级别内容-----嵌套递归函数甲

echo "</DIV>"; file://打印div子标尾部

}

}

file://查询所有子级编码的函数

function find_allchild_from_rootsortid($Section_No){

global $handle,$num;

$num++;

$cursor_ary[$num] = ora_open($handle);

$len=strlen($Section_No)+2; file://μ?μ?×ó??±e±ào?3¤?è

$query = "SELECT ResourceSortNo,ResourceSortName,SectionBottomFlag

From TbSort

Where length(ResourceSortNo)=$len and ResourceSortNo like '$rootid%'"; file://sql查询语句

ora_parse($cursor_ary[$num], $query) or die;

ora_exec($cursor_ary[$num]);

while(ora_fetch($cursor_ary[$num]))

{

$Sort_Title = trim(ora_getcolumn($cursor_ary[$num],1));

$Sort_No= trim(ora_getcolumn($cursor_ary[$num],0));

$Bottom_Flag= trim(ora_getcolumn($cursor_ary[$num],2));

print_child_from_rootsortid($Sort_Title,$Sort_No,$Bottom_Flag); file://打印所有的子级节点-----嵌套递归函数乙

}

$num--;

}

?>

【PHP树的代码,可以嵌套任意层】相关文章:

PHP中把对象转换为关联数组代码分享

PHP的FTP学习(四)

PHP自动生成月历代码

PHP开发的9条经验总结

PHP_Flame(Version:Progress)的原代码

我的论坛源代码(七)

PHP滚动日志的代码实现

PHP的FTP学习(二)[转自奥索]

我的论坛源代码(十)

PHP中的串行化变量和序列化对象

精品推荐
分类导航