我必须在项目中创建Matrix树视图。所以我打算使用 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
}
?>
答案 0 :(得分:1)
在这个例子中我使用mysqli驱动程序。 不要使用mysql驱动程序。
您只需要将输出数据转换为json对象。
可以提取all the rows at once,这将使您的开销略微减少。
var client = new WebClient();
client .Headers.Add(HttpRequestHeader.UserAgent, "UserAgent,Mozilla/5.0 (Windows NT 5.1; rv:14.0) Gecko/20100101 Firefox/14.0.1");
client.Headers.Add(HttpRequestHeader.Cookie, "USER_PW=xxxxxxxxx; PHPSESSID=xxxxxxxxxxxxxxxxxx");
var html = client.DownloadString("xxxxxxxxxx");
如果您需要特定密钥,请操纵您的查询以根据需要重命名列,例如
$data = mysqli_fetch_all($select); // returns everything in an associative array
$json_data = json_encode($data); // converts that array to json.
答案 1 :(得分:0)
您可以从数据库中检索数据,并像往常一样将其存储在数组中。然后调用PHP的内置函数json_encode()
将PHP数组转换为json(假设您的PHP数组格式正确(如果从数据库中获取它就应该是这种情况))。
你可能会认为这种情况比较慢,因为你在数据上重复两次而不是一次,但这并不重要,复杂性仍然相同。