ホームページ > php教程 > php手册 > PHP ツリー コードは任意のレベルでネストできます

PHP ツリー コードは任意のレベルでネストできます

WBOY
リリース: 2016-06-13 12:43:50
オリジナル
873 人が閲覧しました


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 "

href=\"http://www.csdn.net/expert/menu.shtm#\"
onclick=\"expandIt('$parent_id'); return false\"> src=\"image/folderclosed000.gif\" width=19>$roottilte
";

  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 "
";             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 "
";

}
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 "

    $Section_Title
";
  }else{
    $p_id="R".$Section_No;
    $p_pic="R".$Section_No."img";
    echo "
   
    $Section_Title
";
    $child_fullname="R".$Section_No."Child";
    echo "
";                     file://打印div子标志头
    find_allchild_from_rootsortid($Section_No);                      file://查找子级别内容-----嵌套递归函数甲
    echo "
"; " $Section_No){
global $handle,$num;
$num ;
$cursor_ary[$num] = ora_open($handle);
$len=strlen($Section_No ) 2; file://μ ? rootid%'"; file://sql クエリ ステートメント
ora_parse($cursor_ary[$num], $query) または die;
ora_exec($cursor_ary[$) num]);
while(ora_fetch( $cursor_ary[$num]))
{
$Sort_Title = トリム(ora_getcolumn($cursor_ary[$num],1));
$Sort_No =トリム(ora_getcolumn($cursor_ary[$num], 0));
$Bottom_Flag = トリム(ora_getcolumn($cursor_ary[$num],2));
print_child_from_rootsortid($Sort_Title,$Sort_No,$Bottom_Flag) ; file://すべての子ノードを出力します -----入れ子になった再帰関数 B
}
$num--;
}


?>

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート