如何在Json中获取PHP数据库值?

时间:2016-04-13 10:55:05

标签: php json

我必须在项目中创建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
}
?>

2 个答案:

答案 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数组格式正确(如果从数据库中获取它就应该是这种情况))。

你可能会认为这种情况比较慢,因为你在数据上重复两次而不是一次,但这并不重要,复杂性仍然相同。