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


How to fetch PHP database values in Json?

我必须在我的项目中创建矩阵树视图。因此,我计划使用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数组格式良好(如果您从数据库中获得它,则应该是这种情况)。

你可能会说这更慢,因为你对数据进行了两次迭代,而不是一次,但这并不重要,复杂性保持不变。