ajaxを使用してPHPスクリプトに接続し、jqplotjQueryグラフ作成ライブラリに必要なグラフ座標を取得しています。
問題は、jqplotが読み取ることができるjQuery配列に変換できる適切なPHP配列を構築するのに苦労していることです。
PHPファイルから配列を取得するコードは次のとおりです。
$.ajax({
type: 'POST',
dataType: "json",
url: "behind_curtains.php",
data: {
monthSelected: month_option_selected
},
success: function (data) {
var stored_data = data;
alert(stored_data);
}
});
return stored_data;
}
jqplotを作成するコードは次のとおりです
jQuery.jqplot('chartdiv-data', [], {
title: 'Plot With Options',
dataRenderer: stored_data,
axesDefaults: {
labelRenderer: jQuery.jqplot.CanvasAxisLabelRenderer
},
axes: {
xaxis: {
label: "Day",
},
yaxis: {
label: "data"
}
}
});
よろしければ、behind_curtains.phpファイルに適切なデータ配列を作成するのを手伝っていただければ幸いです。
編集1 グラフ座標配列は、次の形式である必要があります。
[[[1,2],[3,5],[5,13]]]
基本的に、その形式でデータを格納する配列を出力できるphpコードを作成する必要があります。
ありがとう
解決:
* begin_curtains.php *
[[1,2]、[3,5]、[5,13]]の形式の文字列を単純に生成する配列をまとめました。次に、文字列を変数に格納し、その変数を次の形式でエコーしました。
echo json_encode($stored_data);
ここでのユーザー側のコードは次のようになります。
<script type="text/javascript">
$("document").ready(function() {
$.ajax({
type: 'POST',
dataType:"json",
url: "behind_curtains.php",
data: {
monthSelected: month_option_selected},
success: function(data){
var stored_data = eval(data) ;
/* generate graph! */
$.jqplot('chartdiv-weight', [stored_data], {
title: month,
axesDefaults: {
labelRenderer: jQuery.jqplot.CanvasAxisLabelRenderer
},
axes: {
xaxis: {
label: "Day",
},
yaxis: {
label: "data"
}
}
});
}
});
}
}});</script>
いいえの場合は、興味のある方はぜひお知らせください。