从PHP和MySQL创建JSON结构


create json structure from php and mysql

我想从 PHP 生成Json并产生如下所示的结果

series: [{
        name: "Brands",
        colorByPoint: true,
        data: [{
            name: "Microsoft Internet Explorer",
            y: 56.33,
            drilldown: "Microsoft Internet Explorer"
        }, {
            name: "Chrome",
            y: 24.03,
            drilldown: "Chrome"
        }, {
            name: "Firefox",
            y: 10.38,
            drilldown: "Firefox"
        }, {
            name: "Safari",
            y: 4.77,
            drilldown: "Safari"
        }, {
            name: "Opera",
            y: 0.91,
            drilldown: "Opera"
        }, {
            name: "Proprietary or Undetectable",
            y: 0.2,
            drilldown: null
        }]
    }]

如何创建这样的结果结构?

创建一个包含对象数组的变量,然后这些变量包含一些属性,这些属性将生成您想要的name:"Brands"colorByPoint: true。除了这些属性之外,该对象还包含另一个对象数组。数组中的那些对象将包含name: "Safari"y: 4.77等属性。然后使用encode_json($CreatedVariable)方法生成所需的 JSON。

使用 json_encode();功能这会对你有所帮助。像这样使用

echo json_encode(array('series'=>$array));

一旦你有了PHP数据,你就可以使用json_encode函数了。PHP json_encode() 函数用于在 PHP 中编码 JSON。此函数在成功时返回值的 JSON 表示形式,在失败时返回 FALSE。

下面是说明如何使用json_encode函数的示例

  $catId = $_GET['catId'];
  $catId = $_POST['catId'];   
$conn = mysqli_connect("localhost","root","password","DBName");
if(!$conn)
{
    trigger_error('Could not Connect' .mysqli_connect_error());
}
$sql = "SELECT * FROM TableName";
$result = mysqli_query($conn, $sql);
$array = array();
while($row=mysqli_fetch_assoc($result))
{
    $array[] = $row;
}
echo'{"ProductsData":'.json_encode($array).'}'; //Here ProductsData is just a simple String u can write anything instead
mysqli_close('$conn');

您可以使用mysqli_fetch_array()函数使用 while 循环从 mysql 数据库中检索值作为数组并json_encode()结果数组。例:

while($row = mysqli_fetch_array($result)) {
  $result[] = $row; 
}
echo json_encode($result);