时间:2021-05-26
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--;
}
?>
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
复制代码代码如下:/**树的3中常见搜索方式1.二叉树方式(每一层只有0和1)2.满m叉树(每一层都有0到m-1)3.子集树,也称为全排列树*/#include
本文目的:使用easyUi的特殊常用实例,表格层次显示,一层套一层,显示详细数据,嵌套3层应该可以满足所有人的需求了吧。如果你想嵌套4层,有了嵌套3层的案例,4
为什么要了解这个技巧1、通过php代码可以在不支持灵动标签的页面中调用信息。2、通过php代码来调用信息更灵活,可以支持标签无限嵌套的效果。如何用PHP代码实现
先看一段嵌套了两层function的JavaScript代码:复制代码代码如下:varme={name:'Jimbor',blog:'http://jmedia
先上个效果图,可以点击Close按钮或是在遮罩层上任意处点击,就可以关闭弹出层。HTML代码复制代码代码如下:标题位置正文内容代码很简洁。最外层是一个大的DIV