#mysql #json #codeigniter #highcharts
#mysql #json #codeigniter #highcharts
Вопрос:
У меня есть база данных
[![введите описание изображения здесь][1]] [1]
[1]: https://i.stack.imgur.com/yAteS.jpg ;
как я могу отобразить формат данных json, такой как пример детализации highcharts, следующим образом
{
name: '2010',
data: [{
name: 'Republican',
y: 5,
drilldown: 'republican-2010'
}, {
name: 'Democrats',
y: 2,
drilldown: 'democrats-2010'
}, {
name: 'Other',
y: 4,
drilldown: 'other-2010'
}]
}, {
name: '2014',
data: [{
name: 'Republican',
y: 4,
drilldown: 'republican-2014'
}, {
name: 'Democrats',
y: 4,
drilldown: 'democrats-2014'
}, {
name: 'Other',
y: 4,
drilldown: 'other-2014'
}]
}
Комментарии:
1. Привет, @Feri, вы также можете преобразовать свой JSON позже, в интерфейсе JS.
Ответ №1:
Попробуйте это
SELECT JSON_ARRAYAGG(JSON_OBJECT('id', id, 'nama', nama, 'tahun', tahun, 'zone', zone, 'nilai', nilai)) from TableA;
Ответ №2:
вам нужно json_encode
из результата модели, просматривая каждую запись, вам нужно создать структурированные данные, подобные показанным.
# create an array structure like the one below
$chart_data = array(
array(
'name'=> '2010',
'data'=> array(
array(
'name'=> 'Republican',
'y'=> 5,
'drilldown'=> 'republican-2010'
),
array(
'name'=> 'Democrats',
'y'=> 2,
'drilldown'=> 'democrats-2010'
),
array(
'name'=> 'Other',
'y'=> 4,
'drilldown'=> 'other-2010'
),
...
)
),
...
)
;
$chart_data_json_string = json_encode($chart_data);
// $chart_data_json_string would contain a string that can be parsed into JSON from the front end
// $chart_data_json_string = [{"name":"2010","data":[{"name":"Republican","y":5,"drilldown":"republican-2010"},{"name":"Democrats","y":2,"drilldown":"democrats-2010"},{"name":"Other","y":4,"drilldown":"other-2010"}]}]
Используйте JSON.parse(json_string) для преобразования строки в json, которая затем может быть использована
Highchart
let high_chart_data_str = '<?php $chart_data_json_string ?>';
let high_chart_data = JSON.parse(high_chart_data_str);