如何使用PHP和MYSQL创建饼图?

时间:2014-01-19 17:07:54

标签: php mysql charts

我有一张表格可以显示我的数据并且效果很好。我还需要在饼图中添加以显示表格中显示的完全相同的数据。

 <thead>
                <tr>
                    <th>Account Type</th>
                    <th>Account Number</th>
                    <th>Account Balance</th>
                </tr>
            </thead>
                <?php
                $query = "SELECT * FROM account WHERE user_id='$user_id'";
                $result = mysqli_query($link, $query) or die(mysqli_error($link));
                while ($row = mysqli_fetch_array($result)) {
                    $acc_type = $row ['account_type'];
                    $acc_num = $row ['account_number'];  
                    $acc_bal = $row ['account_balance']; 

                    ?>
                <tbody>
                    <tr>
                        <td><?php echo $acc_type ?></td>
                        <td><?php echo $acc_num ?></td>
                        <td>$ <?php echo $acc_bal ?></td>
                    <?php
                }
                ?> 
                    </tr>
            </tbody>  
            <tr class="alt">
                <?php 
                $query = "SELECT SUM(account_balance) AS account_total FROM account WHERE user_id='$user_id'";
                $result = mysqli_query($link, $query) or die(mysqli_error($link));
                while ($row = mysqli_fetch_array($result)){
                    $acc_total = $row ['account_total'];
                ?>
                <td colspan="2" align="right"><b>Total: </b></td>
                <td align="right"><b>$ <?php echo $acc_total ?> </b></td>
                <?php
                }
                ?>
            </tr>

4 个答案:

答案 0 :(得分:2)

使用第三方。

这是一个。看看他们的例子#15 - 基本饼图 http://pchart.sourceforge.net/documentation.php?topic=exemple15

答案 1 :(得分:1)

为什么不尝试使用Google图表,这是最简单的方法。

查看链接 https://developers.google.com/chart/interactive/docs/gallery/piechart

答案 2 :(得分:1)

步骤1.选择图表库和图表;有很多免费或商业。其中最常用的是Google图表库(免费),这是一个JavaScript库

步骤2.从MySQL检索数据。

步骤3.对于饼图,通常需要一个标签 - 值对列表。馅饼的每个切片都有一个标签和一个值。准备第2步中的数据,并将其放入所选图表库所需的表格中。对于Google图表,您可以使用以下内容:

   <script type="text/javascript" src="https://www.gstatic.com/charts/loader.js"></script>
   <div id="piechart" style="width: 500px; height: 500px;"></div>
   <script type="text/javascript">
      google.charts.load('current', {'packages':['corechart']});
      google.charts.setOnLoadCallback(drawChart);
      function drawChart() {
        var data = google.visualization.arrayToDataTable([
                  ['Account Number', 'Account Balance'],
        <?php while ($row = mysqli_fetch_array($result)) {
                            $acc_type = $row ['account_type'];
                            $acc_num = $row ['account_number'];  
                            $acc_bal = $row ['account_balance']; 

                            ?>  
                  ['<?php echo $acc_num ?>',<?php echo $acc_bal ?>],
        <?php } ?>      
                ]);
        var chart = new google.visualization.PieChart(document.getElementById('piechart'));

        chart.draw(data);
}
    </script>

如果你想看看如何使用其他库来绘制饼图,how to create simple pie chart with 3 popular libraries

另请参阅Creating a PHP MySQL pie graph - 它使用第三方库并带有分步示例。还

答案 3 :(得分:0)

如果有人还在寻找解决方案,我真的只是去了这个网站 https://developers.google.com/chart/interactive/docs/drawing_charts 并回显整个代码,它可以工作。