我的數據在數據庫ExtJS的樹存儲和數據拉
目前我的PHP文件是從數據庫中像
$data = array();
$sql = "SELECT * FROM tree";
$q = mysql_query($sql);
while ($r = mysql_fetch_array($q)) {
// check if have a child node
$qq = mysql_query("SELECT `id`, `text` FROM `tree` WHERE parent_id = '". $r['id'] ."'");
if (mysql_num_rows($qq) > 0) {
// if have a child
$r['leaf'] = false;
$r['cls'] = 'folder';
} else {
// if have no child
$r['leaf'] = true;
$r['cls'] = 'file';
}
$data[] = $r;
}
echo json_encode($data);
?>
<div id="tree_el"></div>
我的JavaScript讀取數據是
Ext.require([
'Ext.tree.*',
'Ext.data.*',
'Ext.tip.*'
]);
Ext.onReady(function() {
Ext.QuickTips.init();
var store = Ext.create('Ext.data.TreeStore', {
proxy: {
type: 'ajax',
url: 'treegetdata.php'
},
root: {
text: 'Eatables',
id: 'root_node',
expanded: true
},
folderSort: true,
sorters: [{
property: 'text',
direction: 'ASC'
}]
});
var tree = Ext.create('Ext.tree.Panel', {
store: store,
renderTo: 'tree_el',
height: 300,
width: 250,
title: 'Eatables'
});
});
我目前的結果看起來像這樣
我預期的結果應該是
有問題,而我拉從數據庫中的數據。請幫我修復它,以便達到預期的格式。我相信這個修復程序在我的php文件中是必需的。
看不到您當前的結果。 –
@JohanHaest添加圖片 –
這將是非常低效的。更好地一次獲取所有結果,並對結果使用遞歸算法生成樹。不應該多次查詢分貝。 –