У меня есть массив данных из базы данных в контроллере. Я получаю данные с помощью json_encode (). Я хочу использовать эти данные в ganttchart, и я не могу l oop данные. Я делаю это с помощью codeigniter и код выглядит следующим образом:
Контроллер:
function loaddashboard()
{
$data['phase']=$this->try_ganttchart_model->get_phase();
$data['all']=$this->try_ganttchart_model->get_data();
$this->load->view('try_ganttchart',$data);
}
Просмотр:
var data = <?php echo json_encode($all); ?>;
var phase = <?php echo json_encode($phase); ?>;
Highcharts.ganttChart('container', {
series: [{
name: 'LDR',
data: [{
name: 'LDR',
id: 'new_offices',
owner: 'Peter'
}, {
name: 'Prepare office building',
id: 'prepare_building',
parent: 'new_offices',
start: convert_date(dates[0].review_sd),
end: convert_date(dates[0].review_ed),
completed: {
amount: 0.2
},
owner: 'Linda'
}]
}
],
tooltip: {
pointFormatter: function () {
var point = this,
format = '%e. %b',
options = point.options,
completed = options.completed,
amount = isObject(completed) ? completed.amount : completed,
status = ((amount || 0) * 100) + '%',
lines;
lines = [{
value: point.name,
style: 'font-weight: bold;'
}, {
title: 'Start',
value: dateFormat(format, point.start)
}, {
visible: !options.milestone,
title: 'End',
value: dateFormat(format, point.end)
}, {
title: 'Completed',
value: status
}, {
title: 'Owner',
value: options.owner || 'unassigned'
}];
return reduce(lines, function (str, line) {
var s = '',
style = (
defined(line.style) ? line.style : 'font-size: 0.8em;'
);
if (line.visible !== false) {
s = (
'<span style="' + style + '">' +
(defined(line.title) ? line.title + ': ' : '') +
(defined(line.value) ? line.value : '') +
'</span><br/>'
);
}
return str + s;
}, '');
}
},
title: {
text: 'Gantt Project Management'
},
xAxis: {
currentDateIndicator: true,
min: convert_date(dates[0].review_sd),
max: convert_date(dates[0].review_ed)
}
});
function convert_date(d){
return (Date.UTC(d.split("-")[0],d.split("-")[1],d.split("-")[2]));
}
Я хочу использовать что-то подобное в javascript:
for(i=0; i< phase.length; i++){
series: [{
name: phase[i].phase_name,
data: [{
name: phase[i].phase_name,
id: 'phase'+ i,
},
{
for(j=0; j<data.length; j++){
if(phase[i].phase_name == data[j].phase){
name: data[j].task_name,
start: convert_date(data[i].review_sd),
end: convert_date(data[i].review_ed),
}
}
}]
}
]}
Как мне l oop понравится? Мне нужно использовать два цикла, поскольку мне нужно сравнить данные внутри данных. Я получаю ошибку как undefined symbol
, так как я использовал l oop.