0

私は自分の質問に対する答えを見つけるためにかなり長い間 SO をサーフィンしてきましたが、困惑していることを認めなければなりません。ここでは非常に単純な何かが欠けているに違いないと思いますが、今は木に木が見えません。

JSON 経由でハイチャートをロードしようとしていますが、JSON は PHP 配列によって作成されています (これは、MySQL からデータを取得しているためです)。シリーズは正常にロードされていますが、チャートのタイトルを抽出できません。 . 私の理解では、そのコードは json.title.text のようなものにする必要があります...しかし、これは機能せず、スクリプトがクラッシュします。どんな助けでも大歓迎です!

PHP 配列は次のとおりです (単純化するためにダミー変数を配置しました...):

    $arr = 
array (
    array (
        'title' => array (
            'text' => 'idiot'
        ),
        'data' => array (
            '2012-12-16; 0',
            '2012-12-16; 23'
        )
    ),
    array (
        'name' => 'Sacred cows',
        'data' => array (
            98.9914,
            99.5429
        )
    ),

);
echo json_encode($arr);

グラフを生成する JavaScript は次のとおりです。

  function marketwidget(id){

var formData = "name="+ id + "&age=31";

$.ajax({
    url : "marketwidget.php",
    type: "POST",
    data: formData,
    success: function(data, textStatus, jqXHR)
    {
            var json = JSON.parse(data)

    var len = json.length
    i = 0;

    var options = {
   title: {
        text: []
        },
        xAxis: {
            categories: []
        },
        series: []
    }

        options.title.text = json.title.text

    for (i; i < len; i++) {
        if (i === 0) {
            var dat = json[i].data,
                lenJ = dat.length,
                j = 0,
                tmp;

            for (j; j < lenJ; j++) {
                tmp = dat[j].split(';');
                options.xAxis.categories.push(tmp[0]);
            }
        } else {
                options.series.push(json[i]);
        }
    }



    $('#container').highcharts('StockChart', options);

        },
    error: function(jqXHR, textStatus, errorThrown)
    {
    }
});

}
4

1 に答える 1