明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

PHP樹的代碼,可以嵌套任意層

[摘要]PHP樹的代碼,可以嵌套任意層<?file://建立樹的主要函數(shù),傳遞的參數(shù)為根節(jié)點(diǎn)的編號(hào)和根節(jié)點(diǎn)的標(biāo)題function create_tree(rootid,roottilte) print_parent_from_rootsortid(rootid,roottilte);file://...

PHP樹的代碼,可以嵌套任意層<?
file://建立樹的主要函數(shù),傳遞的參數(shù)為根節(jié)點(diǎn)的編號(hào)和根節(jié)點(diǎn)的標(biāo)題
function create_tree($rootid,$roottilte){
  print_parent_from_rootsortid($rootid,$roottilte);
}
file://打印根節(jié)點(diǎn)div頭的函數(shù)
function print_parent_from_rootsortid($rootid,$roottilte){
  $parent_fullname="R".$rootid."Parent";                      file://div 父級(jí)區(qū)別標(biāo)志
  $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://子級(jí)編碼為父級(jí)編碼長(zhǎng)度加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 子級(jí)區(qū)別標(biāo)志
  echo "<DIV class=child id=$child_fullname>";             file://打印一個(gè)div子級(jí)頭
  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://循環(huán)調(diào)用打印子級(jí)編碼函數(shù)
  }
  echo "</DIV>";

}
file://判斷是否是末級(jí)標(biāo)志,并且打印子級(jí)編碼的函數(shù)
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://輸出節(jié)點(diǎn)之間間距空格的循環(huán)

  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子標(biāo)志頭
    find_allchild_from_rootsortid($Section_No);                      file://查找子級(jí)別內(nèi)容-----嵌套遞歸函數(shù)甲
    echo "</DIV>";                                                   file://打印div子標(biāo)尾部

  }

}
file://查詢所有子級(jí)編碼的函數(shù)
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://打印所有的子級(jí)節(jié)點(diǎn)-----嵌套遞歸函數(shù)乙
  }
  $num--;
}


?>