2017-01-17 5 views
1

私はhtmlテーブルで定義されたデータでハイチャートを作成するための正しい手順を実行したと思います。しかし、私はそれを実行しようとしているときに、表のみが表示され、グラフは表示できません。私のテーブルのデータはデータベースから読み込まれます。htmlテーブルで定義されたデータでハイチャートグラフィックを表示する方法は?

var chart1; // globally available 
 
$(document).ready(function() { 
 
    chart1 = new Highcharts.Chart({ 
 
     chart: { 
 
      renderTo: 'grafik', 
 
      type: 'column' 
 
     }, 
 
     data: { 
 
      table: document.getElementById('aruskas') 
 
     }, 
 
     title: { 
 
      text: 'Data extracted from a HTML table in the page' 
 
     }, 
 
     yAxis: { 
 
      allowDecimals: false, 
 
      title: { 
 
       text: 'Units' 
 
      } 
 
     }, 
 
     tooltip: { 
 
      formatter: function() { 
 
       return '<b>' + this.series.name + '</b><br/>' + 
 
        this.point.y + ' ' + this.point.name.toLowerCase(); 
 
      } 
 
     } 
 
    }); 
 
});
<table id="aruskas" class="table table-condensed" style="margin-left: 10px;"> 
 

 
    <thead> 
 
    <tr> 
 
     <th width="100px"></th> 
 
     <th width="100px">Pemasukan</th> 
 
     <th width="100px">Pengeluaran</th> 
 
    </thead> 
 

 
    <?php 
 
    include '../koneksi.php'; 
 

 
    $sql = "SELECT DATE_FORMAT(tgl, '%m') as tanggal FROM penjualan WHERE year(tgl)='2016' UNION (SELECT DATE_FORMAT(tanggal, '%m') as tanggal FROM pembelian WHERE year(tanggal)='2016') ORDER BY tanggal ASC"; 
 
     $query = mysqli_query($koneksi,$sql) or die(mysqli_error()); 
 
     while($ret = mysqli_fetch_array($query)){ 
 
     $tgl=$ret['tanggal']; 
 

 
     /*menghitung pemasukan*/ 
 
     $sql_jumlah = "SELECT sum(total_harga) FROM penjualan where year(tgl)='2016' AND month(tgl)='$tgl' ";   
 
     $query_jumlah = mysqli_query($koneksi,$sql_jumlah) or die(mysqli_error()); 
 
     while($data = mysqli_fetch_array($query_jumlah)){ 
 
     $jumlah = $data['sum(total_harga)'];     
 
    } 
 
    $sql_jumlah1 = "SELECT sum(total) FROM aruskas where year(tgl)='2016' AND month(tgl)='$tgl' and noref like '%CI%' ";   
 
    $query_jumlah1 = mysqli_query($koneksi,$sql_jumlah1) or die(mysqli_error()); 
 
    while($data1 = mysqli_fetch_array($query_jumlah1)){ 
 
     $jumlah1 = $data1['sum(total)'];     
 
    } 
 
    $pemasukan = $jumlah+$jumlah1; 
 

 
    /*menghitung pengeluaran*/ 
 
    $sql_jumlah = "SELECT sum(total_harga) FROM pembelian where year(tanggal)='2016' AND month(tanggal)='$tgl' ";   
 
    $query_jumlah = mysqli_query($koneksi,$sql_jumlah) or die(mysqli_error()); 
 
    while($data = mysqli_fetch_array($query_jumlah)){ 
 
     $jumlah = $data['sum(total_harga)'];     
 
    } 
 
    $sql_jumlah1 = "SELECT sum(total) FROM aruskas where year(tgl)='2016' AND month(tgl)='$tgl' and noref like '%CT%' ";   
 
    $query_jumlah1 = mysqli_query($koneksi,$sql_jumlah1) or die(mysqli_error()); 
 
    while($data1 = mysqli_fetch_array($query_jumlah1)){ 
 
     $jumlah1 = $data1['sum(total)'];     
 
    } 
 
    $pengeluaran = $jumlah+$jumlah1; 
 
    
 
    ?> 
 

 
    <tbody> 
 
     <tr> 
 
     <th> 
 
      <?php if ($tgl==01) { 
 
     echo "Januari"; 
 
     }elseif ($tgl==02) { 
 
     echo "Februari"; 
 
     }elseif ($tgl==03) { 
 
     echo "Maret"; 
 
     }elseif ($tgl==04) { 
 
     echo "April"; 
 
     }elseif ($tgl==05) { 
 
     echo "Mei"; 
 
     }elseif ($tgl==06) { 
 
     echo "Juni"; 
 
     }elseif ($tgl==07) { 
 
     echo "Juli"; 
 
     }elseif ($tgl==8) { 
 
     echo "Agustus"; 
 
     }elseif ($tgl==9) { 
 
     echo "September"; 
 
     }elseif ($tgl==10) { 
 
     echo "Oktober"; 
 
     }elseif ($tgl==11) { 
 
     echo "November"; 
 
     }elseif ($tgl==12) { 
 
     echo "Desember"; 
 
     }else{ 
 

 
     } ?> 
 
     </th> 
 
     <td><?php echo $pemasukan; ?></td> 
 
     <td><?php echo $pengeluaran; ?></td> 
 
     </tr> 
 
    <?php } ?> 
 
    </tbody> 
 

 

 
    </table> 
 

 
    <div id="grafik"></div> 
 

 
    <script src="../js/jquery.js"></script> 
 
    <script src="../js/jquery-ui-1.10.4.min.js"></script> 
 
    <script src="../js/jquery-1.8.3.min.js"></script> 
 
    <script type="text/javascript" src="../js/jquery-ui-1.9.2.custom.min.js"></script> 
 
<script src="../js/highcharts.js"></script>

任意のヘルプは高く評価されています。私は、これは私のコードで欠場部分があるかもしれません。

+0

ここであなたのPHPコードにJSコードを含めるのですか?あなたの例にその部分を含めてください –

+0

私はハイチャートで作業していませんが、他のJSクラスでは実際にチャートを描画するメソッドを呼び出す必要もあります。 chart1.plot()のようなものです。 –

+0

私はテーブルコードの下にJSコードを入れました。私はそれを行うことができるグラフを表示するためにIDを使用すると思います。私は前にplot()を使用していない、JSでplot()を使う方法は? @ErikKalkoken –

答えて

0

OK、私は考えました:グラフが表示されない主な理由は、データJSファイルを含めなかったことです。

他のJS以​​下のPHPのファイルに次の行を追加しています

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

をあなたはまた、テーブルヘッダー内のクロージング</tr>が欠落しています。

ここには、JS fiddleの作業用の解決策があります。 (PHPコードなし)

は私はあなたのコードの構造を改善し、それが簡単に読んでデバッグするようにする方法について提案を行う許可:

私が最初にデータベースからすべてのデータを収集し、それを格納します配列。そして、(別のループで)その配列のデータを使ってテーブルを作成します。

+0

私はこれを試しても、まだ表示されていません:( –

+0

私は新しい解決策を追加しました。 –

関連する問題