显示带有json的谷歌图表&;PHP

显示带有json的谷歌图表&;PHP,php,json,Php,Json,我正在尝试使用php从mysql数据生成google图表。 以下是我目前的代码: get_json.php <?php /* $server = the IP address or network name of the server * $userName = the user to log into the database with * $password = the database account password * $databaseName = the name of

我正在尝试使用php从mysql数据生成google图表。 以下是我目前的代码: get_json.php

<?php
/* $server = the IP address or network name of the server
 * $userName = the user to log into the database with
 * $password = the database account password
 * $databaseName = the name of the database to pull data from
 * table structure - colum1 is cas: has text/description - column2 is data has the value
 */
$con = mysql_connect('localhost','root','') ;

mysql_select_db('gcm', $con); 

// write your SQL query here (you may use parameters from $_GET or $_POST if you need them)
$query = mysql_query('SELECT count(name) As Subscribers,CAST(`created_at` AS DATE) As Date FROM gcm_users GROUP BY created_at ORDER BY created_at')or die(mysql_error());

$table = array();
$table['cols'] = array(
    /* define your DataTable columns here
     * each column gets its own array
     * syntax of the arrays is:
     * label => column label
     * type => data type of column (string, number, date, datetime, boolean)
     */
    // I assumed your first column is a "string" type
    // and your second column is a "number" type
    // but you can change them if they are not
    array('label' => 'Date', 'type' => 'string'),
    array('label' => 'Subscribers', 'type' => 'number')
);

$rows = array();
while($r = mysql_fetch_assoc($query)) {
    $temp = array();
    // each column needs to have data inserted via the $temp array
    $temp[] = array('v' => $r['Date']);
    $temp[] = array('v' => (int) $r['Subscribers']); 

    // insert the temp array into $rows
    $rows[] = array('c' => $temp);
}

// populate the table with rows of data
$table['rows'] = $rows;

// encode the table as JSON
$jsonTable = json_encode($table);

// set up header; first two prevent IE from caching queries
header('Cache-Control: no-cache, must-revalidate');
header('Content-type: application/json');

// return the JSON data
echo $jsonTable;
?>
但是当我运行这个代码时,我什么也没有得到,它是空白的!我的错误在哪里?

现在测试:

您的页面中没有包含jQuery。将这一行添加到您的
中,它就会起作用

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>

通过这种方式,您可以确保所有相关代码仅在AJAX调用完成后执行。

。它们不再得到维护。看到了吗?相反,学习,并使用or-将帮助您决定哪一个。如果选择PDO,。是否检查了浏览器开发人员工具控制台中的输出以查看错误消息?否,如何检查?@user219241是否有firebug?检查这里,ajax请求的输出是什么。还有一个问题,为什么左边的数字是浮点数而不是我提到的整数?
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type="text/javascript">
  function drawVisualization() {
    var jsonData = null;

    var json = $.ajax({
      url: "get_json.php", // make this url point to the data file
      dataType: "json",
      async: false,
      success: (
    function(data) {
        jsonData = data;

    // Create and populate the data table.
    var data = new google.visualization.DataTable(jsonData);

    // Create and draw the visualization.
  var chart= new google.visualization.LineChart(document.getElementById('visualization')).
        draw(data, {curveType: "function",
                    width: 500, height: 400,
                    vAxis: {maxValue: 10}}
            );

    })
    }).responseText;



  }


  google.setOnLoadCallback(drawVisualization);
</script>