Reputation: 5
All I want is to be able to add this simple PHP array to display in the X axis. It's not wanting to display my content at all and I'm not understanding why.
<!DOCTYPE HTML>
<html>
<head>
<?php
$array = array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");
?>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Highcharts Example</title>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"type="text/javascript"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script>
<script type="text/javascript">
$(function () {
js_array = new Array(<?php echo json_encode($array) ?>);
$('#container').highcharts({
title: {
text: 'Monthly Average Temperature',
x: -20 //center
},
subtitle: {
text: 'Source: WorldClimate.com',
x: -20
},
xAxis: {
categories: js_array
}
Upvotes: 0
Views: 4435
Reputation: 1
it worked with me like this:
for categories :
categories: [<?php for($i = 0; $i < count($name); $i++){ echo "'".$name[$i]."'"; echo ",";} ?>],
for data:
data: [<?php echo join($age, ',') ?>]
Note that $name is a string array and $age is an integer array. Also keep in mind that this code worked with me when I imbedded the php,Sql query in the same page.
Upvotes: 0
Reputation: 17800
We seem to be overcomplicating matters here...
change this:
js_array = new Array(<?php echo json_encode($array) ?>);
...
xAxis: {
categories: js_array
}
to this:
xAxis: {
categories: <?php echo json_encode($array); ?>
}
Upvotes: 4
Reputation: 37588
Take look at the article http://docs.highcharts.com/#preprocessing-data-from-a-database which describe hwo to use array.
Upvotes: 0
Reputation: 178
An JSON Object is not the same as an js array. You would need to parse the code first. JSON.parse() or eval() might help parsing.
js_array = JSON.parse('<?php echo json_encode($array) ?>');
as @user1477388 commented correctly
Upvotes: 0