I'm trying to create a simple chart in a page using mysql data retrieved using a mysql script
I don't understand how to integrate the ajax call with the data required for the chart. I don;t know enough about the various charting plugins to make my life easy and am currently trialing highchart.
My php script returns the following json:
[{"name":"golfers"},{"data":[5.7879,6.6286,6.1724,5.3125,7.1481,6.1333,4.5769]}]
My chart script is:
$(function () {
visitorData(function(data) {
console.info(data);
$('#chart1').highcharts({
chart: {
type: 'column'
},
title: {
text: 'Average Visitors'
},
xAxis: {
categories: ['Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday', 'Sunday']
},
yAxis: {
title: {
text: 'Number of visitors'
}
},
series: data,
});
});
});
my function to make the ajax call:
$.ajax({
url: '/visitdata',
type: 'GET',
async: true,
dataType: "json",
success: function (data) {
console.warn(data);
return data;
}
});
But at the moment nothing is being displayed.
I'm not sure how to effectively make the ajax call and integrate it into the chart function. I decided on a callback based on earlier attempts and posts to ensure data is returned before creating the chart - is this bit correct?
I'm not 100% sure the json data is structured correctly
I'm not sure i;ve applied the data variable to the series correctly
Basically - need a tutorial on this so I can get it working and experiment
All help appreciated
Thanks
I think you cannot return values from the success call instead you would need to call a function instead. So set up your function that initializes your chart, and in the ajax success call that function with the data
With your code example
In your ajax success function call your visitorData function with data[1].data (since that's how your json is formatted)
also, your visitorData function def is odd.
or