To debug the json, add colsole.log(json); in the AJAX query, and then check
the developer's console in Chrome/Firefox to see what comes out. Make sure
that you are using the json to create a new DataTable and not with the
addRows method; it should be var data = new
google.visualization.DataTable(json); in the success callback.
On Monday, November 12, 2012 10:16:20 PM UTC-5, sam wrote:
>
> I did update my .php file according to code you provided, and get jason in
> proper format,
>
> commented out addColumn in .html still no luck
>
> On Monday, November 12, 2012 8:34:35 PM UTC-5, asgallant wrote:
>>
>> Sorry, that's a typo, should have been $r.
>>
>> On Monday, November 12, 2012 8:22:17 PM UTC-5, sam wrote:
>>>
>>> in this particular cod snippet, where did $i come from?
>>>
>>> $sth = mysql_query("SELECT * FROM testpower WHERE datetime > 0");
>>> $rows = array();
>>> $flag = true;
>>>
>>> $table = array();
>>>
>>> $table['cols'] = array(
>>>
>>> array('label' => 'date', 'type' => 'datetime'),
>>>
>>> array('label' => 'power', 'type' => 'number')
>>>
>>> );
>>>
>>> $rows = array();
>>> while($r = mysql_fetch_assoc($sth)) {
>>> $temp = array();
>>>
>>> $temp[] = array('v' => $i['datetime']); // you will probably need to
>>> transform this into the Date object format
>>> $temp[] = array('v' => (float) $i['power']); // typecast to int, float,
>>> whatever - if you don't, it will be interpreted as a string
>>>
>>> $rows[] = array('c' => $temp);
>>> }
>>>
>>> $table['rows'] = $rows;
>>>
>>> $jsonTable = json_encode($table);
>>>
>>>
>>> On Monday, November 12, 2012 7:41:01 PM UTC-5, asgallant wrote:
>>>>
>>>> Yes, that's the format you need. Here's a basic bit of PHP code that
>>>> shows how to build it:
>>>> https://groups.google.com/d/msg/google-visualization-api/GK0zwNbIwUo/i9DhpOUSKMEJ
>>>>
>>>> On Monday, November 12, 2012 7:32:06 PM UTC-5, sam wrote:
>>>>>
>>>>> are you talking about sampleData.json format?
>>>>>
>>>>> same as in this example ?
>>>>> https://developers.google.com/chart/interactive/docs/php_example
>>>>>
>>>>> On Monday, November 12, 2012 6:46:31 PM UTC-5, asgallant wrote:
>>>>>>
>>>>>> Hmmm...I don't see anything wrong with the code, can you post a link
>>>>>> to the live version on your school's server?
>>>>>>
>>>>>> Incidentally, the data in the JSON won't work. Your numbers have to
>>>>>> be unquoted, and the dates won't work as is. That date format is
>>>>>> correct
>>>>>> if you are using the JSON implementation of a DataTable, but not for
>>>>>> using
>>>>>> the addRows method. Given how you are fetching the data, you'll either
>>>>>> have to process it in javascript before passing it to addRows, or change
>>>>>> the data structure to use the full DataTable JSON structure.
>>>>>>
>>>>>> On Monday, November 12, 2012 6:01:37 PM UTC-5, sam wrote:
>>>>>>>
>>>>>>> thanks for reply asgallant, I built everything by reading all your
>>>>>>> previous comments history, I was testing everything locally on my
>>>>>>> laptop
>>>>>>> using xampp got the 405 error, moved everything to my school provided
>>>>>>> space
>>>>>>> on .edu, same error.
>>>>>>> all your previous comments on other threads are really helpful.
>>>>>>>
>>>>>>> my .php file output sample, it's really big file, just showed a few
>>>>>>> lines, from echo json_encode($output);
>>>>>>>
>>>>>>> [["Date(2012,04,12,12,50,02)","15662","5589","7999","2074","1488","425"],["Date(2012,04,12,1,00,03)","15662","5589","7999","2074","1488","425"],["Date(2012,04,12,1,10,02)","15242","5555","7603","2084","1430","413"]]
>>>>>>>
>>>>>>> .html file :
>>>>>>>
>>>>>>> <html>
>>>>>>> <head>
>>>>>>> <script type='text/javascript' src='http://www.google.com/jsapi
>>>>>>> '></script>
>>>>>>> <script type="text/javascript" src="jquery.min.js"></script>
>>>>>>> <script type='text/javascript'>
>>>>>>> google.load('visualization', '1',
>>>>>>> {'packages':['annotatedtimeline']});
>>>>>>> google.setOnLoadCallback(drawChart);
>>>>>>>
>>>>>>> function drawChart() {
>>>>>>> var data = new google.visualization.DataTable();
>>>>>>> data.addColumn('datetime', 'Date');
>>>>>>> data.addColumn('number', 'n1');
>>>>>>> data.addColumn('number', 'n2');
>>>>>>> data.addColumn('number', 'n3');
>>>>>>> data.addColumn('number', 'n4');
>>>>>>> data.addColumn('number', 'n5');
>>>>>>> data.addColumn('number', 'n6');
>>>>>>> var now = new Date();
>>>>>>>
>>>>>>> var chart = new
>>>>>>> google.visualization.AnnotatedTimeLine(document.getElementById('chart_div'));
>>>>>>> function updateData () {
>>>>>>> $.ajax({
>>>>>>> url: 'http://localhost/db_chartjson.php',
>>>>>>> dataType: 'json',
>>>>>>> type: 'POST',
>>>>>>> crossDomain: true,
>>>>>>> success: function (json) {
>>>>>>> data.removeRows(0, data.getNumberOfRows());
>>>>>>> data.addRows(json);
>>>>>>> chart.draw(data,{width: 400, height: 240});
>>>>>>> // refresh data in 1 minute
>>>>>>> setTimeout(function () {
>>>>>>> updateData();
>>>>>>> }, 60000);
>>>>>>> }
>>>>>>> });
>>>>>>> }
>>>>>>> }
>>>>>>>
>>>>>>> </script>
>>>>>>> </head>
>>>>>>> <body>
>>>>>>> <div id='chart_div' ></div>
>>>>>>> </body>
>>>>>>> </html>
>>>>>>>
>>>>>>> On Monday, November 12, 2012 5:50:49 PM UTC-5, asgallant wrote:
>>>>>>>>
>>>>>>>> Can you post your source code?
>>>>>>>>
>>>>>>>> Since you're using xampp, I assume you're accessing the HTML file
>>>>>>>> through the webserver rather than locally, but if you're not, then
>>>>>>>> this
>>>>>>>> could be a Flash security issue (see the
>>>>>>>> Notes<https://developers.google.com/chart/interactive/docs/gallery/annotatedtimeline#notes>section
>>>>>>>> in the ATL documentation for details).
>>>>>>>>
>>>>>>>> On Monday, November 12, 2012 5:22:37 PM UTC-5, sam wrote:
>>>>>>>>>
>>>>>>>>> Hi,
>>>>>>>>> I am using mysql/php to create json data, in addition have
>>>>>>>>> test.html that read json and draws annotated timeline,
>>>>>>>>>
>>>>>>>>> keep getting "OPTIONS http://www.google.com/jsapi 405 (Method
>>>>>>>>> Not Allowed)" error
>>>>>>>>>
>>>>>>>>> "XMLHttpRequest cannot load http://www.google.com/jsapi. Origin
>>>>>>>>> http://nova.it.rit.edu is not allowed by
>>>>>>>>> Access-Control-Allow-Origin."
>>>>>>>>>
>>>>>>>>> need urgent help, I am using xampp
>>>>>>>>>
>>>>>>>>> thanks
>>>>>>>>>
>>>>>>>>
--
You received this message because you are subscribed to the Google Groups
"Google Visualization API" group.
To view this discussion on the web visit
https://groups.google.com/d/msg/google-visualization-api/-/7BMVs00RR3AJ.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/google-visualization-api?hl=en.