> php教程 > php手册 > 用php和js实现简单的树结构(点击收缩与拉伸)

用php和js实现简单的树结构(点击收缩与拉伸)

WBOY
풀어 주다: 2016-06-06 19:49:42
원래의
1531명이 탐색했습니다.

script type=text/javascript src=jquery.js/script script language=javascript type=text/javascript function show(eventName) { $(#eventName).children().toggle(); } /script //树的节点,id是每个节点的唯一标志,pid表示他的父节点 ,name表示节点的


//树的节点,id是每个节点的唯一标志,pid表示他的父节点 ,name表示节点的名称

$result[0] = array('id'=>1,'pid'=>0,'name'=>'公司1',);
$result[1] = array('id'=>2,'pid'=>0,'name'=>'公司2');
$result[2] = array('id'=>3,'pid'=>2,'name'=>'公司2的子公司1');
$result[3] = array('id'=>4,'pid'=>1,'name'=>'公司1的子公司1');
$result[4] = array('id'=>5,'pid'=>2,'name'=>'公司2的子公司2');
$result[5] = array('id'=>6,'pid'=>3,'name'=>'公司2的子公司1的子公司1');
$result[6] = array('id'=>7,'pid'=>3,'name'=>'公司2的子公司1的子公司2');
$result[7] = array('id'=>8,'pid'=>3,'name'=>'公司2的子公司1的子公司3');
$result[8] = array('id'=>9,'pid'=>8,'name'=>'公司2的子公司1的子公司3');
$result[9] = array('id'=>10,'pid'=>9,'name'=>'公司2的子公司1的子公司3');
//简易类
class tree

{

//创建树

   function tree($rs,$idName,$pidName,$nodeName)

    {
        $this->idName    = $idName;//当前节点的id
        $this->pidName    = $pidName;//父节点的id
        $this->nodeName = $nodeName;
        $tree = array();
        foreach((array)$rs as $k=>$v)
        {
            $tree[$v[$pidName]][] = $v;
        }
 
        $this->treeArray = $tree;

    }

//显示树

    function showTree($root,$deep)
    {
        if( $this->treeArray[$root] )
        {
            foreach($this->treeArray[$root] as $k=>$v)
            {
                $t = $v[$this->idName];
                $p = $v[$this->pidName];
                $name=$v[$this->nodeName];

                $str   = str_repeat(" ",$deep*4)."|-".str_repeat("-",$deep);


                $html .=""."{$str}"."{$v[$this->nodeName]}
";
                if($this->treeArray[$t] )

                {


                   $html .="";
                }
                    $html .="
";
            }
        }
        return $html;
    }
}
$tree = new tree($result,'id','pid','name');
echo $tree->showTree(0,0);

?>

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 추천
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿