从Highcharts变为Highstock - 现在是Json的问题

时间:2014-02-06 20:33:11

标签: json highstock series

我使用highcharts完成了我的网站,但因为它只会发生......我需要切换到Highstock。 不幸的是我有更改代码的问题,虽然它大致相同......我有3个系列,现在想把它切换到一个烛台和两个样条区域系列。

php文件看起来像这样,输出似乎没问题:

<?php
session_start();
?>

<?php
define('DB_SERVER',"");
define('DB_NAME',"");
define('DB_USER',"");
define('DB_PASSWORD',"");


$con = mysql_connect(DB_SERVER, DB_USER, DB_PASSWORD);

if (!$con) {
die('Could not connect: ' . mysql_error());
}
mysql_select_db(DB_NAME, $con);


if (isset($_GET["dateParam"])) {

$sql = mysql_query("SELECT unix_timestamp(datetime)*1000 as ts, OpenBid AS open, HighBid AS high, LowBid AS low, CloseBid AS close FROM ger30 WHERE datetime LIKE '".$_GET["dateParam"]."%' ORDER BY datetime");
} else {
$sql = mysql_query("SELECT unix_timestamp(datetime)*1000 as ts, OpenBid AS open, HighBid AS high, LowBid AS low, CloseBid AS close FROM ger30 WHERE DATE(datetime) = CURDATE() ORDER BY datetime");
}

while ($row = mysql_fetch_assoc($sql)) {
if ($row['ts'] == ""){
$row['ts'] = "0";
}
if ($row['open'] == ""){
$row['open'] = 0;
}
if ($row['high'] == ""){
$row['high'] = 0;
}
if ($row['low'] == ""){
$row['low'] = 0;
}
if ($row['close'] == ""){
$row['close'] = 0;
}
$t = $row['ts'];
$o = $row['open'];
$h = $row['high'];
$l = $row['low'];
$c = $row['close'];
$result['data1'][] = array( $t, $o, $h, $l, $c );
}

if (isset($_GET["dateParam"])) {
$sql = mysql_query("SELECT reference FROM kalender WHERE date LIKE     '".$_GET["dateParam"]."%'");
} else {
$sql = mysql_query("SELECT reference FROM kalender WHERE DATE(date) = CURDATE()");
}

while ($row = mysql_fetch_assoc($sql)) {
$ref1 = $row['reference'];
}   
if (isset($_GET["dateParam"])) {

$sql = mysql_query("SELECT unix_timestamp(datetime)*1000 as ts2, HighBid AS high2, LowBid AS low2 FROM ger30 WHERE DATE(datetime) LIKE DATE('$ref1') ORDER BY datetime");
} else {
$sql = mysql_query("SELECT unix_timestamp(datetime)*1000 as ts2, HighBid AS high2, LowBid AS low2 FROM ger30 WHERE DATE(datetime) = CURDATE() ORDER BY datetime");
}

while ($row = mysql_fetch_assoc($sql)) {
if ($row['ts2'] == ""){
$row['ts2'] = "0";
    }
if ($row['high2'] == ""){
$row['high2'] = 0;
}
if ($row['low2'] == ""){
$row['low2'] = 0;
}
$t2 = $row['ts2'];
$h2 = $row['high2'];
$l2 = $row['low2'];
$result['data2'][] = array( $t2, $h2, $l2 );
$result['data3'][] = array( $t2, $h2, $l2 );
}   
print json_encode($result, JSON_NUMERIC_CHECK);

mysql_close($con);
?>

到目前为止,我收到了3个正确的数组,如下所示: data1:[1389250800000,9484,9484,9480,9483],[1389250860000,9483,9484,9480,9482] ... data2:[1389078120000,9444,9441],[1389078180000,9444,9442] ... data3:[1389078120000,9444,9441],[1389078180000,9444,9442]

我的java代码如下:

  var options;

  $(document).ready(function() {

  $.getJSON("testdata2.php", function(json){
    options.series[0].data = json['data1'];
    chart = new Highcharts.Chart(options);
    });
    // create the chart
    $('#container').highcharts('StockChart', {
    options = {
         chart: 
  {
    backgroundColor: {
     linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 },
     stops: [
        [0, 'rgb(51, 51, 51)'],
        [1, 'rgb(16, 16, 16)']
     ]
  },
    borderColor: '#666666',
    borderWidth: 1,
    borderRadius: 0,
    zoomType: 'x',
    maxZoom: 60000,
    renderTo: 'container'
  },
        rangeSelector : {
            enabled: false
        },
        backgroundColor: {
            linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 },
            stops: [
                [0, 'rgb(51, 51, 51)'],
                [1, 'rgb(16, 16, 16)']
                    ]
        },
        xAxis: {
            type: 'datetime',
            lineColor: '#666666',
            dateTimeLabelFormats: { // don't display the dummy year
                month: '%e. %b',
                year: '%b'
            }
        },
        yAxis: { // first yAxis
            alternateGridColor: null,
          minorTickInterval: null,
          gridLineColor: 'rgba(255, 255, 255, .1)',
          minorGridLineColor: 'rgba(255,255,255,0.07)',
          lineWidth: 0,
          tickWidth: 0,
          labels: {
             style: {
                color: '#999',
                fontWeight: 'bold'
             }
          },
            title: {
                text: 'DAX',
                style: {
                    color: '#eeeeee'
                }
            }
        },
        tooltip: {
            backgroundColor: {
            linearGradient: { x1: 0, y1: 0, x2: 0, y2: 1 },
            stops: [
                [0, 'rgba(96, 96, 96, .8)'],
                [1, 'rgba(16, 16, 16, .8)']
             ]
          },
            borderWidth: 0,
            style: {
                 color: '#FFF'
              }
           },
        title: {
            text: 'GER30 Tageschart',
            margin: 50,
            style: {
                fontFamily: 'Verdana',
                fontSize: '20px',
                fontWeight: 'bold',
                color: '#cccccc'
                }
          },
        navigator: {
                enabled: false
                },
        scrollbar: {
                enabled: false
                },  
        plotOptions: {
                  series: {
                     shadow: true
                  },
                  line: {
                     dataLabels: {
                        color: '#CCC'
                     },
                     marker: {
                        lineColor: '#333'
                     }
                  },
                  spline: {
                     marker: {
                        lineColor: '#333'
                     }
                  },
                  scatter: {
                     marker: {
                        lineColor: '#333'
                     }
                  },
                  candlestick: {
                     lineColor: '#666666'
                  }
               },
                        series : [{
                            type : 'candlestick',
                            name : 'GER30',
                            data : [],

                        }]
                        }
                    });
                });
            });

Javascript已更新,以显示目前的样子。 我尝试只获得一个系列数据,这样我只需要添加其他数据。 问题必须在这里:

            $.getJSON("testdata2.php", function(json){
    options.series[0].data = json['data1'];
    chart = new Highcharts.Chart(options);
    });

如果我使用

$.getJSON('testdata2.php', function(test) {
相反,在系列部分中,“data:test”,它可以正常工作。

0 个答案:

没有答案