gpt4 book ai didi

php - 在 AngularJs 中使用 MySQL 和 PHP 嵌套 JSON 数据 | ng选项

转载 作者:行者123 更新时间:2023-11-29 02:48:15 25 4
gpt4 key购买 nike

谁能告诉我如何在 codeigniter 中使用 MySQL 和 PHP 创建以下嵌套 JSON 数据。

我想要给定格式的数据。

$data =  {
'India': {
'Andhra Pradesh': ['Vijayawada', 'Guntur', 'Nellore', 'Kadapa'],
'Madhya Pradesh': ['Hyderabad', 'Warangal', 'Karimnagar'],
},
'USA': {
'San Francisco': ['SOMA', 'Richmond', 'Sunset'],
'Los Angeles': ['Burbank', 'Hollywood']
},
'Australia': {
'New South Wales': ['Sydney', 'Orange', 'Broken Hill'],
'Victoria': ['Benalla', 'Melbourne']
}
};

我的模型代码如下:

public function getAll()
{
$query = $this->db->query("SELECT
`country`.`countryName`
, `states`.`name` AS `stateName`
, `cities`.`cityName`
FROM
`tablename`.`states`
INNER JOIN `tablename`.`country`
ON (`states`.`country_ID` = `country`.`ID`)
INNER JOIN `tablename`.`cities`
ON (`cities`.`state_id` = `states`.`ID`);");

return $query->result();

}

Controller 代码如下:

public function getAllData()
{
//get All details
$this->load->model('Shiksha_model','locations');
$data = $this->locations->getAll();
echo json_encode($data);
}

所以我按如下所示对输出进行门控:

[
{
"countryName": "INDIA",
"stateName": "West-Bengal",
"cityName": "Kolkata"
},
{
"countryName": "INDIA",
"stateName": "Bihar",
"cityName": "Purnia"
}
]

最佳答案

只需遍历并构建您需要的内容:

$result = [];
foreach ($data as $row) {
if (!isset($result[$row['countryName']]))
$result[$row['countryName']] = [];
if (!isset($result[$row['countryName']][$row['stateName']]))
$result[$row['countryName']][$row['stateName']] = [];
$result[$row['countryName']][$row['stateName']][] = $row['cityName'];
}
return json_encode($result);

您也可以使用相同的客户端代码实现相同的结果。

关于php - 在 AngularJs 中使用 MySQL 和 PHP 嵌套 JSON 数据 | ng选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39222880/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com