xtree树 带根节点和不带根节点的遍历 (带链接的遍历)

1、CI框架 后台查询

        function projectItem(){           
         

            $query = $this->db->query("SELECT ConstrProjID, ConstrProjName,KindLvl,PLeft,ParentID FROM ConstrProj where PLeft >1 ORDER BY PLeft ");   
          
            $data['arr'] = $query->result_array(); 

            $this->load->view('project/projectItem',$data);
          
        }


2、带根节点 显示

<script type="text/javascript">
if (document.getElementById) { 
	
  <?php 
							if($arr){
								$i = 0;
								foreach ($arr as $value){
									echo "var note".$value['ConstrProjID']." = new WebFXTreeItem('".$value['ConstrProjName']."');\r\n";
									$i = $i +1;
									// var_dump($value['KindLvl']);
									// echo "11111111111";

									if($value['KindLvl']=="1"){
										if($i == 1){
											echo "var tree = new WebFXTree('".$value['ConstrProjName']."');";
											echo "tree.setBehavior('classic');";
										}else{
											echo "document.write(tree);";
											echo "var tree = new WebFXTree('".$value['ConstrProjName']."');";
										}
									}else if ($value['KindLvl']=="2"){
										echo "tree.add(note".$value['ConstrProjID'].");\r\n";
									}else{
										echo "note".$value['ParentID'].".add(note".$value['ConstrProjID'].");\r\n";	
									}
								}
							}
						?>
						document.write(tree);
						tree.expandAll();

}
</script>


3、不带根节点显示

<script type="text/javascript">
                     
 
// var tree_gen="<?php echo $arr[0]['ConstrProjName'];?>";  
// var tree_len="<?php echo count($arr);?>"                  

// var arr = <?php echo json_encode($arr) ?>;                


if (document.getElementById) {
						var tree = new WebFXTree('工程建名');
						tree.setBehavior('classic');
						<?php 
							if($arr){
								foreach ($arr as $value){
									echo "var note".$value['ConstrProjID']." = new WebFXTreeItem('".$value['ConstrProjName']."');\r\n";
									if ($value['KindLvl']=="1"){
										echo "tree.add(note".$value['ConstrProjID'].");\r\n";
									}else{
										echo "note".$value['ParentID'].".add(note".$value['ConstrProjID'].");\r\n";	
									}
								}
							}
						?>
						document.write(tree);
						tree.expandAll();
					}


//document.write("999");
</script>


带链接的遍历  (tree和子节点在同一张表时)


						<script type="text/javascript">
                     
 
// var tree_gen="<?php echo $arr[0]['ConstrProjName'];?>";  
// var tree_len="<?php echo count($arr);?>"                  

// var arr = <?php echo json_encode($arr) ?>;                


if (document.getElementById) {
						var tree = new WebFXTree('工程建名');
						tree.setBehavior('classic');
						<?php 
							if($arr){
								foreach ($arr as $value){
									echo "var note".$value['ConstrProjID']." = new WebFXTreeItem('".$value['ConstrProjName']."');\r\n";
									echo "note".$value['ConstrProjID'].".action=\"".$value['PLeft']."\";";
									if ($value['KindLvl']=="1"){
										//echo "action";
										//echo "note".$value['ConstrProjID']".".action=\"aaa\";";
										echo "tree.add(note".$value['ConstrProjID'].");\r\n";
									}else{
										//echo "note".$value['ParentID']".".action=."aaa";
										echo "note".$value['ParentID'].".add(note".$value['ConstrProjID'].");\r\n";	
									}
								}
							}
						?>
						document.write(tree);
						tree.expandAll();
					}


//document.write("999");
</script>


====




带链接的遍历  (tree和子节点不在同一张表时)

	
最外层加tree  
第二层加3级节点  (<span style="color:#FF0000;">它们两个是各加各的,互不影响,外层个数就是二层的层数</span>)						


写成脚本 php, 可以include加载到任何显示层用着的地方     (<?php include './views/hrbeventTree.php';?>)

<script src="<?=base_url()?>../bootstrap/js/xtree.js"></script>
<script src="<?=base_url()?>../bootstrap/css/xtree.css"></script>
                            <div id="tree">
                        <?php //var_dump($arr);?>
                        
                            <script type="text/javascript">
                            
                                
                                if (document.getElementById) {
                                    
                                    <?php 
                                        $url=base_url().'events/creatgroups?pid='; //创建新组url
                                        $event_url=base_url().'events/createvents?pid=';    
                                        $current_url="#";                                    
                                    ?>
                                    
                                    <?php    
                                                                        
                                        $m = 0;
                                        if($arrgroups){
                                            //".$arr['0']['groupName']."
                                            echo "var tree = new WebFXTree('".$arrgroups[0]['groupName']."');\r\n";
                                            echo "tree.setBehavior('classic');\r\n";
                                            
                                        
                                            for ($i=1;$i<count($arrgroups);$i++){
                                                $curGroupID = $arrgroups[$i]['eventgroupID'];
                                                $cureventID = $arrgroups[$i]['eventID']; //当前eventid 用于创建分组时,未加项目,遍历显示时不加为空的子节点
                                                         echo "var nGroup".$curGroupID." = new WebFXTreeItem('".$arrgroups[$i]['groupName']."');\r\n";
                                                         //这是创建新组echo "nGroup".$arrgroups[$i]['eventgroupID'].".action=\""."$url"."".$arrgroups[$i]['eventgroupID']."&pl=".$arrgroups[$i]['gLeft']."&pname=".$arrgroups[$i]['groupName']."&action=creat"."\";";
                                                         echo "nGroup".$arrgroups[$i]['eventgroupID'].".action=\""."$url"."".$arrgroups[$i]['eventgroupID']."&pl=".$arrgroups[$i]['gLeft']."&pname="."".$arrgroups[$i]['groupName']."&action=alter&parentname=".$arrgroups[$i]['parentName']."&parentid=".$arrgroups[$i]['parentID']."\";";
                                                         echo "tree.add(nGroup".$curGroupID.");\r\n";
                                                for ($j=0;$j<count($arrEventgroups);$j++){
                                                    
                                                    if($arrEventgroups[$j]['eventgroupID'] == $curGroupID){
                                                        if($cureventID!=''){
                                                            echo "var nEvent".$arrEventgroups[$j]['eventID']." = new WebFXTreeItem('".$arrEventgroups[$j]['eventname']."');\r\n";                                                        
                                                            echo "nEvent".$arrEventgroups[$j]['eventID'].".action=\""."$event_url"."".$arrEventgroups[$j]['eventgroupID']."&pname=&action=alter&eventid=".$arrEventgroups[$j]['eventID']."\";";                                                        
                                                            echo "nGroup".$arrEventgroups[$j]['eventgroupID'].".add(nEvent".$arrEventgroups[$j]['eventID'].");\r\n";
                                                        }
                                                    }
                                                    //$last_eventgroupID = $arrEventgroups[$j]['eventgroupID'];
                                                    //die();
                                                }
                                                
                                     
                                            }  
                                            
                                    }
                                ?>
                                        document.write(tree);
                                        tree.expandAll();
                                
                                }
                                
                                
                                //document.write("999");
                                </script>
                        </div><!-- tree end -->


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蜗牛慢慢向上爬

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值