我必须在我的项目中创建矩阵树视图。因此,我计划使用json。我的问题是如何在Json中获取PHP值?。我做了静态矩阵树,但我想要动态矩阵树。感谢您的预付款。
我的代码如下:
<?php
include('db.php');
$select = mysql_query("select * from table1");
while($row = mysql_fetch_array($select))
{
?>
{
"name": "A", // Here database values come $row['name'];
"children": [
{
"name": "B",
"children": [
{"name": "B-1"}
]
},
{
"name": "C",
"children": [
{"name": "C-1", "size": 1082},
{"name": "C-2", "size": 1681}
]
},
{
"name": "D",
"children": [
{
"name": "D-1",
"children": [
{"name": "D-1 1", "size": 1302},
{"name": "D-1 2", "size": 6703}
]
},
{"name": "D-2", "size": 16540}
]
}
]
}
<?php
}
?>
在本例中,我使用的是mysqli驱动程序不要使用mysql驱动程序。
您只需要将输出数据转换为json对象。
一次提取所有行是可能的,这将使您的开销稍微减少。
$data = mysqli_fetch_all($select); // returns everything in an associative array
$json_data = json_encode($data); // converts that array to json.
如果您需要特定的密钥,则根据需要操作查询以重命名列,例如
$query = "select name as firstname from ....";
您只需从数据库中检索数据,并像往常一样将其存储在数组中。然后调用PHP的内置函数json_encode()
,将PHP数组转换为json(假设您的PHP数组格式良好(如果您从数据库中获得它,则应该是这种情况)。
你可能会说这更慢,因为你对数据进行了两次迭代,而不是一次,但这并不重要,复杂性保持不变。