我能够使用 php 脚本从 MySQL 获取数据到单个 JSON 数组,但我不知道如何从数据库中获取多列数据到嵌套的 JSON 数组。请帮助我理解这一点。
此 php 代码用于将数据提取到单个 JSON 数组中
<?php
require "conn.php";
$sql ="select * from upcomingevent_banner";
$result = mysqli_query($conn,$sql);
$response = array();
while ($row = mysqli_fetch_array($result))
{
array_push($response,array("image"=>$row[1]));
}
echo json_encode(array("server_response"=>$response));
$conn->close();
?>
我想要以下类型的 JSON 数组,我需要使用什么 PHP 代码?
{
"data": [
{
"title": "Dance",
"section": [
{
"name": "kids dancing in school",
"image": "http://images1.com"
},
{
"name": "Bharatanattyam",
"image": "http://image2.com
},
]
},
{
"title": "Music",
"section": [
{
"name": "keyboard player",
"image": "image3.com"
},
{
"name": "you gotta do that",
"image": "https://image4.com"
},
]
}
]
}
您需要构建适当的数组,然后您可以使用json_encode()
将其转换为JSON
. 生成示例 JSON 的数组是这样的:
echo json_encode(array(
"data"=>array(
array(
"title"=>"Dance",
"section"=>array(
array(
"name"=>"kids dancing in school",
"image"=>"http://images1.com",
),
array(
"name"=>"Bharatanattyam",
"image"=>"http://image2.com",
),
),
),
array(
"title"=>"Music",
"section"=>array(
array(
"name"=>"keyboard player",
"image"=>"image3.com",
),
array(
"name"=>"you gotta do that",
"image"=>"http://image4.com",
),
),
),
),
));
注意:您不能从单个 SQL 语句中检索这样的多级数组。您能做的最好的事情是使用命名列的行数组。section
是一个两行数组,每行两列。data
也是一个数组行,每行有两列。
因此,要获得这个多级数组,您将不得不手动构建它,但“给我 t codz”是 Stack Overflow 的主题。因此,尝试破解它,如果您有其他麻烦,请使用代码发布其他问题。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句