Here is what I’m trying to do. I’m trying to place multiple Google Pie Charts, I already put the code in, however, I’m getting the following error message:
Uncaught TypeError: Cannot read property ‘arrayToDataTable’ of undefined and I’m getting another error message: Error: Data for arrayToDataTable is not an array.
Here is the code that I’m using right now:
JavaScript
x
<?php
foreach ($currentTeamLeaders as $currentTeamLeader) {
$chartId = "chart_div_$currentTeamLeader[teamLeadId]";
$chartData = array(
array("Task","Daily Report"),
array("Points Achieved",90),
array("Points Left",190)
);
?>
<div id="<?php echo $chartId ?>" style="width: 900px; height: 500px;"></div>
<script type="text/javascript">
google.load("visualization", "1", {packages:["corechart"]});
google.setOnLoadCallback(drawChart);
</script>
<script type="text/javascript">drawChart('<?php echo $chartId; ?>','<?php echo json_encode($chartData); ?>')</script>
<?php
}
?>
Here is the google chart code:
JavaScript
function drawChart(chartId,data) {
var dataTable = google.visualization.arrayToDataTable(data);
var options = {
backgroundColor: 'transparent',
title: '' ,
chartArea:{right:0,top:0,width:"90%",height:"100%" },
height: 150,
width: 200,
};
var chart = new google.visualization.PieChart(document.getElementById(chartId));
chart.draw(dataTable, options);
}
What could be causing the issues?
Thanks!
Advertisement
Answer
I have found a solution. What I did was split up the JS code and put the code together in the PHP for loop.