使用数据库详细信息创建的图表

时间:2011-06-20 13:32:26

标签: php jquery charts

我的图表代码如下:

 var chart;
            $(document).ready(function() {
                chart = new Mychart.Chart({
                    chart: {
                        renderTo: 'container',
                        defaultSeriesType: 'line',
                        marginRight: 130,
                        marginBottom: 25
                    },
                    title: {
                        text: 'Monthly Average Temperature',
                        x: -20 //center
                    },
                    xAxis: {
                        categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 
                            'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
                    },
                    yAxis: {
                        title: {
                            text: 'Temperature (°C)'
                        },
                        plotLines: [{
                            value: 0,
                            width: 1,
                            color: '#808080'
                        }]
                    },

                    series: [{
                        name: 'Tokyo',
                        data: [7.0, 6.9, 9.5, 14.5, 18.2, 21.5, 25.2, 26.5, 23.3, 18.3, 13.9, 9.6]
                    }, {
                        name: 'New York',
                        data: [-0.2, 0.8, 5.7, 11.3, 17.0, 22.0, 24.8, 24.1, 20.1, 14.1, 8.6, 2.5]
                    }, {
                        name: 'Berlin',
                        data: [-0.9, 0.6, 3.5, 8.4, 13.5, 17.0, 18.6, 17.9, 14.3, 9.0, 3.9, 1.0]
                    }, {
                        name: 'London',
                        data: [3.9, 4.2, 5.7, 8.5, 11.9, 15.2, 17.0, 16.6, 14.2, 10.3, 6.6, 4.8]
                    }]
                });


            });

我想从我的数据库表国家/地区传递国家/地区名称,即国家/地区名称数组以及类似数据也要从数据库传递到系列。

任何人都可以帮助我如何使用php在这个jquery中传递它。

提前致谢

2 个答案:

答案 0 :(得分:0)

您可以创建文件并从DB检索数据,例如:

<? $result = mysql_query($query); 

   echo "series: [";

   while ($row = mysql_fetch_assoc($result)) {
     echo "{";
     echo "name:'".$row['cityname']."',";
     echo "data: [".$row['data']."]";
     echo "}";
   }

   echo "];";

?>

如果您的数据是另一个数组,您也可以循环它,只需记住正确附加字符串。

答案 1 :(得分:0)

我认为,传递所需数据的最佳做法是 json-object ,例如:

<?php 
$countries = array(
  'france' => array(
     'capital' => 'Paris',
  ),
  'spain' => array(
     'capital' => 'Madrid',
  )
);
?>

<script type="text/javascript">
  var countries = <?php echo json_encode($countries); ?>;
  alert(countries.spain.capital)      # ==> returns Madrid
</script>