0

私はmysqlデータベースから値を読み込んでJSONおり、次のコードを介してエクスポートしています

<?php

require_once 'includes/global.inc.php';

    $query = "SELECT * FROM  `chart_sales` ORDER BY id LIMIT 0 , 100";
    $result = mysql_query($query) or die("SQL Error 1: " . mysql_error());
    // get data and store in a json array
    while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
        $ph[] = array(
            'timestamp' => $row['timestamp'],
            'ph' => $row['ph']
          );
    }

    echo json_encode($ph);
?>

これは魅力のように機能し、次の出力が得られます。

[{"timestamp":"1383755099000","ph":"0.50"},{"timestamp":"1383755299000","ph":"1.50"},{"timestamp":"1383755999000","ph":"1.00"}]

今私の問題が来ます。JSONデータをグラフにプロットできるように、値を配列に変換したいと考えています。

グラフを描画するコードは次のとおりです。

        var d2 = [ [1383755099000, 1], [1383755299000, 1.5], [1383755999000, 1] ];          

        var sales_charts = $('#sales-charts').css({'width':'100%' , 'height':'220px'});
        $.plot("#sales-charts", [
            { label: "pH", data: d1 },
            { label: "EC", data: d2 },
        ]

ご覧のとおり、ここまでで var d2 の配列を手動で挿入しました。これで、配列がどのように配置されているかがわかります。残念ながら、JSON を使用した経験はほとんどありません。jsonファイルを読み込んで使用可能な配列に変換する方法を知っている場合は、お知らせください。

4

2 に答える 2

0

次のコードを使用して、JSON オブジェクトを配列に変換できます。

d2 = [{"timestamp":"1383755099000","ph":"0.50"},{"timestamp":"1383755299000","ph":"1.50"},{"timestamp":"1383755999000","ph":"1.00"}];

var result = [];
for (var i in d2) {
    result[i] = [];
    result[i]['timestamp'] = d2[i].timestamp;
    result[i]['ph'] = d2[i].ph;
}
于 2013-11-07T14:13:58.033 に答える