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