2016-03-28 18 views
0

"data.php"を使用したとき、ファイル自体のデータは読み込まれませんでした。しかし、私はそのファイルから "data.json" のデータを使用する場合は、highchartsハイチャートデータ(PHP JSON MYSQLを使用)

$(function() { 
    var chart; 
    $(document).ready(function() { 
     $.getJSON("***data.php***", function(json) { 

      chart = new Highcharts.Chart({ 
       chart: { 
        renderTo: 'container', 
        type: 'column', 
        marginRight: 130, 
        marginBottom: 25 
       }, 
       title: { 
        text: 'Revenue vs. Overhead', 
        x: -20 //center 
       }, 
       subtitle: { 
        text: '', 
        x: -20 
       }, 
       xAxis: { 
        categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'] 
       }, 
       yAxis: { 
        title: { 
         text: 'No. of Events' 
        }, 
        plotLines: [{ 
         value: 0, 
         width: 1, 
         color: '#808080' 
        }] 
       }, 
       tooltip: { 
        formatter: function() { 
          return '<b>'+ this.series.name +'</b><br/>'+ 
          this.x +': '+ this.y; 
        } 
       }, 
       legend: { 
        layout: 'vertical', 
        align: 'right', 
        verticalAlign: 'top', 
        x: -10, 
        y: 100, 
        borderWidth: 0 
       }, 

       plotOptions: { 
      column: { 
       stacking: 'normal', 
       dataLabels: { 
        enabled: true, 
        color: (Highcharts.theme && Highcharts.theme.dataLabelsColor) || 'white', 
        style: { 
         textShadow: '0 0 3px black' 
        } 
       } 
      } 
     }, 
       series: json 
      }); 
     }); 

    }); 

data.jsonに示したされている..................... ................

[{ 
    "name": "Revenue", 
    "data": [23987, 24784, 25899, 25569, 25897, 25668, 24114, 23899, 24987, 25111, 25899, 23221] 
}, { 
    "name": "Overhead", 
    "data": [21990, 22365, 21987, 22369, 22558, 22987, 23521, 23003, 22756, 23112, 22987, 22897] 
}]; 

data.php ......................

<?php 
$con = mysql_connect("localhost","root",""); 

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

mysql_select_db("highcharts", $con); 

$sth = mysql_query("SELECT revenue FROM projections_sample"); 
$rows = array(); 
$rows['name'] = 'Revenue'; 
while($r = mysql_fetch_array($sth)) { 
    $rows['data'][] = $r['revenue']; 
} 

$sth = mysql_query("SELECT overhead FROM projections_sample"); 
$rows1 = array(); 
$rows1['name'] = 'Overhead'; 
while($rr = mysql_fetch_assoc($sth)) { 
    $rows1['data'][] = $rr['overhead']; 
} 

$result = array(); 
array_push($result,$rows); 
array_push($result,$rows1); 


print json_encode($result, JSON_NUMERIC_CHECK); 

mysql_close($con); 
?> 
+0

'$ result'に値があるかどうかチェックしましたか? – rmondesilva

+0

'$ .post( 'data.php'、function(data){data = jQuery.parse(data);'を使ってdata.phpファイルを呼び出してJSON形式でデータを保存し、あなたのハイチャート。 –

+0

@rmondesilvaどうすれば値があるかチェックできますか?hehe – Pau

答えて

0

まず、AJAXを使用してPHPから値を取得します。以下のように:

$(function() { 
    var chart; 
    $(document).ready(function(){ 
     $.ajax({ 
      dataType: 'json', 
      url: 'data.php', 
      success: function(jsondata){ 

      $.getJSON("***jsondata***", function(json){ 
       // Your highchart codes here... 
      }); 
     }); 
    }); 
}); 
+0

混乱します。 – Pau

関連する問題