-2

次のデータを含むテーブルをMySQLに持っています

Buy_client    Amount

ABC            6597
XYZ            4479
PQR            2075
qqq            1706
ttt            1030
Other          450

次のデータをハイ チャートの円グラフに表示したいと考えています。誰かがこれで私を助けてください。PHPとHighChartsの両方が初めてです

質問 1: このデータから円グラフを作成する必要があります

質問 2: これには HighCharts を使用しています。誰かがHighChartsでこれを行うのを手伝ってください


これを行うために次のコードを使用しましたが、円グラフに情報を表示するのではなく、Web ブラウザーにデータを表示するだけです。

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




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

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

mysql_select_db("offlinesurv", $con);

$my_data = mysql_query("SELECT * FROM top_buy_clients");

while($row = mysql_fetch_array($my_data)) {
echo $row['buy_client'] . "\t" . $row['qty']. "\n";
}


?> 

<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript"> 
    $(function () {
     var chart;
     $(document).ready(function() {
     chart = new Highcharts.Chart({
        chart: {
          renderTo: 'container',
          plotBackgroundColor: null,
          plotBorderWidth: null,
          plotShadow: false
     },
     title: {
          text: 'Browser market shares at a specific website, 2010'
            },
     tooltip: {
          pointFormat: '{series.name}: <b>{point.percentage}%</b>',
        percentageDecimals: 1
            },
     plotOptions: {
            pie: {
                allowPointSelect: true,
                cursor: 'pointer',
                dataLabels: {
                    enabled: true,
                    color: '#000000',
                    connectorColor: 'green',
                    formatter: function() {
                        return '<b>'+ this.point.name +'</b>: '+ this.percentage +' %';
                    }
                }
            }
        },
        series: [{
            type: 'pie',
            name: 'Browser share',
            data: [ <?php echo $row; ?>]
        }]
    });
});

});
    </script>
</head>
<body>
<script src="js/highcharts.js"></script>
<script src="js/exporting.js"></script>

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

</body>
 </html>
4

1 に答える 1

1

あなたのPHPで...データベースへのクエリを作成する場所....whileループでは、構築して文字列を作成する必要があり、ループの最後で文字列は次のようになります。

    $my_data = "['ABC',   6597],
                ['XYZ',   4479],
                ['PQR',   2075],
                ['qqq',   1706],
                ['ttt',   1030],
                ['Others', 450] ";

次に、JavaScriptファイルに、次のような行が必要です

series: [{
            type: 'pie',
            name: 'Pie Data',
            data: [
                <?php echo $my_data; ?>
            ]
        }]

とても簡単です。

サルドス。

于 2013-03-02T13:21:19.213 に答える