PHP树的代码,可以嵌套任意层_PHP
程序员文章站
2024-01-08 09:48:40
...
$cursor_tree=ora_open($handle); file://建立树专用游标
$num=0; file://保存游标数值变量
ora_commiton($handle); file://自动开启oracle的提交
?>
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://判断是否是末级标志,并且打印子级编码的函数
function print_child_from_rootsortid($Section_Title,$Section_No,$Bottom_Flag){
global $num;
$len=2*$num+2;
for($j=0;$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://查询所有子级编码的函数
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--;
}
?>
$num=0; file://保存游标数值变量
ora_commiton($handle); file://自动开启oracle的提交
?>
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 "
";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
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 "
"; file://打印div子标尾部find_allchild_from_rootsortid($Section_No); file://查找子级别内容-----嵌套递归函数甲
echo "
}
}
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 数据库可以查到数据的sql语句,在代码里为什么查不到数据
-
有哪些 不错的PHP代码样例可以参考?
-
直接可以拿来用的PHP惯用功能代码片段(11~15)
-
直接可以拿来用的PHP惯用功能代码片段(1~5)
-
microsoft office word 2003下载 php让图片可以下载的代码第1/2页
-
$str=preg_replace("/[attach]/is""111"$str); 这一句怎么把111替换成可以执行的PHP代码
-
php让图片可以下载的代码第1/2页
-
php实现可以设置中奖概率的抽奖程序代码分享
-
PHP 强制性文件下载功能的函数代码(任意文件格式)