Я пытаюсь реализовать http://mbraak.github.com/jqTree/ через JSON.
Это функция, которую я вызвал в <head>
:
jQuery(document).ready(function(){
$.getJSON('../controller/das/dus.php',
function(data) {
$('#tree1').tree({
data:data
});
});
});
Мой php файл:
<?php session_start();
header('Content-type: application/json');
require_once '../../model/getdata.php';
$sql = 'SELECT * FROM slode';
$stmt = getaccessdata::getInstance()->prepare($sql);
$stmt->execute();
$array = $stmt->fetchAll( PDO::FETCH_ASSOC );
$json = json_encode( $array );
echo $json ;
?>
Это файлы JavaScript, которые я вставил:
<!-- jquery -->
<link rel="stylesheet" href="style/jquery/jquery-ui-1.8.14.custom.css" />
<script type="text/javascript" src="js/jquery/jquery-1.6.2.min.js"></script>
<script type="text/javascript" src="js/jquery/jquery-ui-1.8.16.custom.min.js"></script>
<!-- jqTree -->
<script type="text/javascript" src="js/jqtree/tree.jquery.js"></script>
<link rel="stylesheet" href="style/jqtree/jqtree.css" />
Это данные JSON:
[{"id":"1","stand":"Civ","cat":"cat1","stand":"100","savedate":"2011-03-29 18:53:47","cap":"150"},{"id":"2","stand":"asdasd","cat":"cat2","stand":"120","savedate":"2011-03-29 18:53:47","cap":"150"},{"id":"3","stand":"asdasd","cat":"cat3","stand":"80","savedate":"2011-03-29 18:53:47","cap":"250"},{"id":"4","stand":"asdasd","cat":"cat4","stand":"300","savedate":"2011-03-29 18:53:47","cap":"350"},{"id":"5","stand":"asdasd","cat":"cat5","stand":"450","savedate":"2011-03-29 18:53:47","cap":"450"},{"id":"6","stand":"asdasd","cat":"cat6","stand":"40","savedate":"2011-03-29 18:53:47","cap":"550"}]
Я действительно не знаю, что я делаю неправильно. Всегда отображается «неопределенное», где должны быть данные.
Я не знаю, как реализовать древовидную структуру и как она отображается в jqtree.
(json разобрать в jqtree?)
желаемый результат:
если "stand" одинаков в разных данных json, он должен создать новую метку, а cat следует использовать как дочерние:
-Civ (=label)
--cat1 (=children)
-asdasd (=label)
--cat2 (=children)
--cat3 (=children)
--cat4 (=children)
--cat5 (=children)
--cat6 (=children)
Как я могу преобразовать мои данные JSON в эту структуру:
var data = [
{
label: 'node1',
children: [
{ label: 'child1' },
{ label: 'child2' }
]
},
{
label: 'node2',
children: [
{ label: 'child3' }
]
}
];