私はこの質問が何度も答えられたことは知っていますが、私はオブジェクト、配列、文字列、およびJSONに関する混乱のために、まだ問題があります。
Highchartsを使用してグラフを実装しようとしましたDBからデータを抽出するPHPを作成しました。単純化すると、これらは単に値のペア(つまり、曜日、訪問数)であるとします。
JSに送る配列の配列を作成したいと思います。 私はこのようにそれを作った:配列の配列を回復するJavaScript/PHP
while ($row = mysql_fetch_array($result)) {
$dat = substr($row['data'],8,2); //strip to day
$pag = $row['pagina'];
$data[] = "[".$dat.",".$pag."]";
}
$finalData = join($data, ',');
//echo json_encode($finalData); // I get [09,20],[12,15],[12,11],[12,18]
echo "[".$finalData."]"; //I get [[09,20],[12,15],[12,11],[12,18]]
見ての通り、私は(json_encodeなしと/といくつかのバリエーション)二つの異なる方法を試してみました。クライアント側で
、Iが宣言:このように充填されvar donwloaded = [[]];
(配列の配列):
....
var response = xmlhttp.responseText;
// donwloaded = JSON.parse(response);
donwloaded = response;
Iの2つの方法で試みました。
すべての可能な組み合わせでは、最後に 'donwloaded'という結果が文字列として(Mozillaデバッガによると)、グラフは埋められません。私はPHPから何を得るのように表示され
var testValues = [ [1,10],[2,20],[3,30],[4,40] ];
は、Mozillaはこの4つの配列の配列、およびHighchartはそれを正しく表示することを言う:
興味深い部分は、JSで、私はこのことを宣言した場合ということです。
エラーはほとんどありませんでしたが、テストで2日間過ごした後、私はさらに混乱しています。
通常のPHP配列(多次元)を作成し、結果に' json_encode'を適用します。 '$ data [] =" ["。$ dat。"、 "。$ pag"] ";'を '$ data [] = [$ dat、$ pag];'に置き換えてください。 –
mysql_ *関数を使用しないでください。以下をご覧ください:http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php詳細については –
あなたは正確に何を探していますか? – rahul