2016-04-25 12 views
0

MySQLからのデータでHighChartを生成しようとしています。 PHPとjson_encode関数を使用してMySQLからデータを解析します。問題:グラフにデータがありません。HighChartsとPHP json_encode。 MySQLのデータグラフにデータがありません

これは私はJavaScriptである:

<!DOCTYPE HTML> 
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
<title>Highcharts Example</title> 

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script> 
<style type="text/css"> 

</style> 
<script type="text/javascript"> 

$(document).ready(function() { 

    var options = { 
     chart: { 
      renderTo: 'container', 
      type: 'spline' 
     }, 
     series: [{}] 
    }; 

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

}); 

</script> 

<script src="https://code.highcharts.com/highcharts.js"></script> 
<script src="https://code.highcharts.com/modules/exporting.js"></script> 

</head> 
<body> 

<div id="container" style="max-width: 500px; height: 400px; margin: 0 auto"></div> 

</body> 
</html> 

これは私json.phpある:

<?php 

$host = "localhost:3306"; 
$user = "removed"; 
$pass = "removed"; 
$dbname = "removed"; 

$connection = mysqli_connect($host, $user, $pass, $dbname); 

$query = "SELECT temp, time from vejr where time > '2016-04-25 06:14:23'"; 

$result = mysqli_query($connection, $query); 

$emparray = array(); 
    while($row =mysqli_fetch_assoc($result)) 
    { 
     $emparray[] = $row; 
    } 
     echo json_encode($emparray); 

?> 

これはjson.phpから出力された:

[{ "TEMP": "1.6"、 "time": "2016-04-25 08:14:23"}、{"temp": "2.6"、 "time": "2016-04-25 09:14:23"}、 "temp": "3.6"、 "time": "2016-04-25 10:14:23"}、{"temp": "4.6"、 "time": "2016-04-25 11:14:23 "}、{" temp ":" 5.6 "、" time ":" 2016-04-25 12:14:23 "}、{" temp ":" 6.6 "、" time ":" 2016 -04-25 13:14:23 "}、{" temp ":" 7.6 "、" time ":" 2016-04-25 14:14:23 "}、{" temp ":" 8.6 "、" time ":" 2016-04-25 15:14:23 "}]

私がしようとしているのは、x軸上の時刻(fx 2016-04-25 08:14:23)のグラフです、y軸上の値(fx 1.6)です。

は、このからインスピレーションを得た:http://www.highcharts.com/docs/working-with-data/custom-preprocessing#3

をし、また、私はx軸上の私のタイムスタンプが完璧ではないことを知って、それは(2016年4月25日8時14分23秒)長いですが、それがあります私の餌付けソフトウェアが現在MySQLに送信しているもの。何が完璧だろうか?

親切にお礼申し上げます。

答えて

1

この問題は、3つの理由によるものです。

  1. 値は、あなたがする必要があり、
  2. xの値を(json_encodeでJSON_NUMERIC_CHECKフラグを使用)持っているようにyの値が数値ではなく文字列でなければならないカスタムフィールド
  3. 、xとyのようではない名前を付ける必要がありますタイムスタンプ(ミリ秒単位の時間)。 PHPではstrtotime()関数を使うことができます
関連する問題