如何使用php mysql

时间:2016-04-12 20:47:48

标签: php mysql graph highcharts

我正在使用HighCharts并在图表上显示温度。我当时认为可以使用高图图表显示一天或一周或一个月以上的数据。现在我从MySQL DB获得从第一条记录到最新记录的所有数据。这是代码。 这是data.php -

<?php
$con = mysql_connect("192.168.100.107:3306","root","hannan786");

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

mysql_select_db("pi", $con);

$sth = mysql_query("SELECT * FROM temperature ");
$rows = array();
$rows['Temperature'] = 'temperature';
while($r = mysql_fetch_array($sth)) {
    $rows['data'][] = $r['temperature'];
}


$result = array();
array_push($result,$rows);



print json_encode($result, JSON_NUMERIC_CHECK);

mysql_close($con);
?>

这是显示图表数据的主页面的代码 -

<!DOCTYPE HTML>
<html>
    <head>
    <meta http-equiv="Refresh" Content="5">

        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        <title>Temperature</title>

        <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
        <script type="text/javascript">
$(function () {
    var chart;
    $(document).ready(function() {
        $.getJSON("data.php", function(json) {

            chart = new Highcharts.Chart({
                chart: {
                    renderTo: 'container',
                    type: 'line',
                    marginRight: 130,
                    marginBottom: 25
                },
                title: {
                    text: 'Temperature',
                    x: -20 //center
                },
                subtitle: {
                    text: '',
                    x: -20
                },
                xAxis: {
                    categories: ['Temperature']
                },
                yAxis: {
                    title: {
                        text: 'Amount'
                    },
                    plotLines: [{
                        value: 0,
                        width: 1,
                        color: '#808080'
                    }]
                },
                tooltip: {
                    formatter: function() {
                            return '<b>'+ this.series.name +'</b><br/>'+
                            this.x +': '+ this.y;
                    }
                },
                legend: {
                    layout: 'vertical',
                    align: 'right',
                    verticalAlign: 'top',
                    x: -10,
                    y: 100,
                    borderWidth: 0
                },
                series: json
            });
        });

    });

});
        </script>
    </head>
    <body>
  <script src="http://code.highcharts.com/highcharts.js"></script>
  <script src="http://code.highcharts.com/modules/exporting.js"></script>

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

    </body>
</html>

现在我把它作为输出 -

Output

1 个答案:

答案 0 :(得分:0)

您可以使用Highcharts Api的方法setExtremes()。您只需要提供最小值和最大值,在您的情况下,我认为它包含相同的日期对象。

This是一个关于如何使用它的例子。

chart.xAxis[0].setExtremes(
    Date.UTC(2007, 0, 1),
    Date.UTC(2007, 11, 31)
);

文档在这里:http://api.highcharts.com/highstock#Axis.setExtremes