0

これが私の2つのファイルです。//getdata.php:データを抽出し、json_encodeを使用してjson形式に変換します。それはデータをエンコードする正しい方法ですか?列名は変更していません。それは必要ですか?

<?php

mysql_connect('localhost','akshita','123456');
mysql_select_db('rcusers');

$sqlquery1="select userid,group_name,req_nodes,actualPE from jobs where userid='zhang' limit 200";

$sqlresult1=mysql_query($sqlquery1);

$rows=array();

while($r=mysql_fetch_assoc($sqlresult1)){
        $rows[]=$r;
}
print json_encode($rows);
?>

//chartDraw.php:api関数を使用して印刷します。何も表示されていません。

<html>
<head>
<!--Load the AJAX API -->
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js" type="text/javascript"></script>

<script type="text/javascript">

//Load the visualization API and the piechart package
google.load('visualization','1',{'packages':['corechart']});

//Set a callback to run when the google visualization API is loaded
google.setOnLoadCallback(drawchart);

function drawChart(){
  var jsonData = $.ajax({
        url:"getData.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.PieChart(document.getElementById('chart_div'));
chart.draw(data,{width:400,height:240});
}

</script>
</head>

<body>
        <!--Div that will hold the pie chart -->
        <div id="chart_div"></div>
</body>
</html>
4

1 に答える 1

0

ajax がどのように機能するかを理解するには、少し時間が必要です。すぐに応答を返さないという点で同期ではありません。代わりに、要求が完了すると、コールバックを介して応答が渡されます。

var jsonData = $.ajax({
    url:"getData.php",
    dataType:"json",
    async:false,
    success : function(response) {
        // Init chart here
    }
    });

PHP 5.5 で廃止され、将来削除される mysql 関数を使用すると、おそらく叱られるでしょう。

于 2013-02-25T18:23:38.290 に答える