如何使用SQL数据在PHP中创建条形图?

时间:2014-03-08 15:46:15

标签: php sql database graph charts

我正在尝试创建一个简单的条形图来显示运动赛事的结果(例如100米比赛)我已经生成了'结果'表,其中显示了此事件的结果 - 但是我希望网站的用户能够点击'视图图表'类型按钮,该按钮会在(水平)条形图中显示这些结果。

最简单/最简单方式是什么?

以下是我在' viewesults3.php '页面上的内容:

            <?php
            session_start();
            require_once("connect.php");
            //require_once("restriction.php");
            ?>

                <html>
                    <body>
                        <div id="mainFrame">
                            <form id="results" method="get">
                                <table id="results" border="1" bordercolor="#FFCC66">
                                    <th bgcolor="#FFCC66">Result ID: </th>
                                    <th bgcolor="#FFCC66">Position: </th>
                                    <th bgcolor="#FFCC66">Time: </th>
                                    <th bgcolor="#FFCC66">Event ID: </th>       
                                    <th bgcolor="#FFCC66">Athlete ID: </th>

                                        <?php
                                            $result = mysql_query("SELECT * FROM Results");
                                            while ($row = mysql_fetch_array($result))
                                            {
                                                $rID = $row['rID'];
                                                $position = $row['position'];                                       
                                                $time = $row['time'];   
                                                $meID = $row['meID'];
                                                $atID = $row['atID'];               

                                                echo "<tr data-row='$rID'><td>$rID</td>";
                                                echo "<td>".$position."</td>";
                                                echo "<td>".$time."</td>";
                                                echo "<td>".$meID."</td>";
                                                echo "<td>".$atID."</td>";

                                                echo "</tr>";
                                            }
                                        ?>      
                                </table>
                            </form>
                        </div>          
                            <center>
                                    <div id="graphs" align="center">
                                    <a href=".php" class="button">Generate graph!</a>
                                    </div>
                            </center>
                    </body>
                </html>

1 个答案:

答案 0 :(得分:1)

使用普通sql的一种简单方法是使用mysql的REPEAT函数。无论结果值是什么,您都可以重复X次(圆形或截断以移除分数)。

以下是一个例子:

http://sqlfiddle.com/#!2/0e2d7/1/0

在该示例中,我根据“得分”值重复管道符(|)x次(根据需要进行调整)。

您还可以突出显示HTML中的竖线字符,使每个字符都成为实心栏。