このようにjqueryを介してデータを取得するjsonエンコードされたデータとしてphpスクリプトによって返されたデータを使用して、グラフをflotにプロットする必要があります
$("button").click(function(){
var dp1 = $('#dp1').val();
var dp2 = $('#dp2').val();
$.ajax({
type: "GET",
url: "chart.php",
datatype:"json",
success: onSuccess,
data: {d1:dp1, d2:dp1}
});
function onSuccess(series) {
var plotarea = $("#pieChart");
plotarea.css("height", "300px");
plotarea.css("width", "400px");
$.plot( plotarea , [
{
data: series,
bars: {
show: true
}
}
] );
}
});
データの戻り値は json でエンコードされているので、firebug で見ることができます
[["ebbok1",39.55],["ebbok2",92.23],["ebbok3",102.44]]
しかし、私のチャートは空です
jsonデータを返すphpファイルは
$dataset = array();
while($row = $result->fetch_array(MYSQLI_ASSOC)) {
//echo $row['amount'] . "\t" . $row['product_name']. "\n";
$dataset[] = array( $row['product_name'], $row['amount'] );
}
echo json_encode($dataset,JSON_NUMERIC_CHECK);
私は何を間違っていますか?
編集
PHPスクリプトを修正したところ、次のようなデータが返されるようになりました
[{"label":"ebook1","data":39.55},{"label":"ebook2","data":92.23},{"label":"ebook3","data":102.44}]
しかし、私はまだ空のチャートを取得します