2

我正在使用 php/mysql 数据加载树面板。但是当我单击加载树子节点时,它也没有显示父节点的名称。它获取记录并在控制台中显示 json 响应,但无法在树中加载子节点。

父节点的 Json 响应:

[{"0":"1","id":"1","1":"Settings","name":"Settings","leaf":false,"cls":"folder"},{"0":"2","id":"2","1":"Data","name":"Data","leaf":false,"cls":"folder"},{"0":"3","id":"3","1":"Reports","name":"Reports","leaf":false,"cls":"folder"},{"0":"4","id":"4","1":"Campaigns","name":"Campaigns","leaf":false,"cls":"folder"}]

子节点的Json响应

[{"0":"1","id":"1","1":"Home","text":"Home","leaf":false,"cls":"folder"},{"0":"2","id":"2","1":"Log out","text":"Log out","leaf":false,"cls":"folder"},{"0":"47","id":"47","1":"Campaign Reports","text":"Campaign Reports","leaf":false,"cls":"folder"},{"0":"49","id":"49","1":"Supplier Stats","text":"Supplier Stats","leaf":false,"cls":"folder"},{"0":"50","id":"50","1":"Label Piechart","text":"Label Piechart","leaf":false,"cls":"folder"},{"0":"51","id":"51","1":"Country Piechart","text":"Country Piechart","leaf":false,"cls":"folder"},{"0":"52","id":"52","1":"Supplier Piechart","text":"Supplier Piechart","leaf":false,"cls":"folder"},{"0":"53","id":"53","1":"Over All piechart","text":"Over All piechart","leaf":false,"cls":"folder"}]

.js 文件:

var store = Ext.create('Ext.data.TreeStore', {
    autoLoad : true,
    root: {
        id : 'root_node',
        expanded: true
    },
    proxy: {
        type: 'ajax',
        url: 'tree-dataa.php'
    }
});

// Go ahead and create the TreePanel now so that we can use it below
 var treePanel = Ext.create('Ext.tree.Panel', {
    id: 'tree-panel',
    region:'north',
    split: true,
    height: 360,
    minSize: 150,
    rootVisible: true,
    autoScroll: true,
    store: store
    });

PHP 文件:tree-dataa.php

<?php
    mysql_connect("localhost", "root", "");
    mysql_select_db("newslettercms_db");        
    $data = array();
    $q = "";
    $department = $_REQUEST['node'];

        if ($department == 'root_node') {
            $q =mysql_query("SELECT `id`,`name` FROM `cms_roles`");
        }else {
            $qq =mysql_query("SELECT right_ids FROM `cms_roles` WHERE id = '". $department ."'");
            while($ar=mysql_fetch_array($qq))
                {   
                    $q = mysql_query("SELECT `id`,`text` FROM cms_rights where id IN (".$ar['right_ids'].")");                                      
                }    
        }
        while($arr=mysql_fetch_array($q))
        {
            if ($department != 'myCompany') {
                $arr['leaf']     = false;
                $arr['cls']     = 'folder';

            }
            else {
                //$arr['leaf'] = true;
                //$arr['cls'] = 'file';
            }


            $data[] = $arr;
        }
        echo json_encode($data);
?>
4

0 回答 0