文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>PHP树的代码,可以嵌套任意层

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

时间:2007-02-17  来源: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 "&nbsp";
}                                                                   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爱好者站 http://www.phpfans.net Linux|Apache|IIS.
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载