I am attempting to set up a calendar to show volume data. I am receiving an 
error "q[Ec] is not a function". I am pulling data from a MySql database. 
The returned data is valid JSON. I cannot get this calendar to show up on 
the page. The test calendar from the Google page works fine so I know this 
is something in the data query. The code below is from the calendar page, 
the php file returning the JSON, the JSON, and the JSON returned and 
written to the calendar page. Most of the code is directly copied from the 
Google charts pages.  I shortened the JSON quite bit for brevity, but the 
structure is intact. I show the returned JSON because It may show something 
that is not correct. I am missing something here. I worked through the date 
situation with the first column and that no longer gives me an error. if I 
change the column type to string then it gives me the error that the o axis 
is not of type date/datetime. I have worked on this too long now and I need 
help. 

*Calendar page code:*

    <script type="text/javascript" 
src="https://www.google.com/jsapi";></script>
    <script type="text/javascript">

    // Load the Visualization API and the proper chart package.
     google.load("visualization", "1.1", {packages:["calendar"]});

    // Set a callback to run when the Google Visualization API is loaded.
    google.setOnLoadCallback(drawCalendar);
 

  
    function drawCalendar() {
         
      var jsonData = $.ajax({
          url: "reporting_data_calendar.php",
          dataType:"json",
          async: false
          }).responseText;
          
      // Create our data table out of JSON data loaded from server.
      var data = new google.visualization.DataTable(jsonData);

      // Instantiate and draw our chart, passing in some options.
      var chart = new 
google.visualization.Calendar(document.getElementById('calendar_div'));
      chart.draw(data, {width: 1000, height: 400});
}
    </script> 

<div id="calendar_div" style="position:static; width:1000px; 
height:400px"></div>

*PHP page code:*

$invArr = array(
        'cols' => array(
            array('label' => 'TransDate', 'type' => 'date'),
            array('label' => 'TransQty', 'type' => 'number')
            )
        );

for($v=0;$v<count($data_array);$v++)
{
                $trans_date = strtotime($data_array[$v]['trans_date']);
                $formatted_date = Date('Y,m,d',$trans_date);
                $reg_date = $data_array[$v]["trans_date"];
                
    $invArr['rows'][$v] = array(
               'c' => array(
                   array('v' => $formatted_date),
                array('v' => $data_array[$v]['transqty']),
                )
               );

}

header('content-type: application/json'); 
echo json_encode($invArr);

*JSON:*

{"cols":[{"label":"TransDate","type":"date"},{"label":"TransQty","type":"number"}],"rows":[{"c":[{"v":"2014,03,05"},{"v":"72"}]},{"c":[{"v":"2014,03,07"},{"v":"71"}]},{"c":[{"v":"2014,03,12"},{"v":"94"}]},{"c":[{"v":"2014,06,06"},{"v":"41"}]}]}

*JSON as it is returned to the page:*
{"cols":[{"label":"TransDate","type":"date"},{"label":"TransQty","type":"number"}],"rows":[{"c":[{"v":"2014,03,05"},{"v":"72"}]},{"c":[{"v":"2014,03,07"},{"v":"71"}]},{"c":[{"v":"2014,03,12"},{"v":"94"}]},{"c":[{"v":"2014,06,06"},{"v":"41"}]}]}


-- 
You received this message because you are subscribed to the Google Groups 
"Google Visualization API" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/google-visualization-api.
For more options, visit https://groups.google.com/d/optout.

Reply via email to