AMCHARTS+MYSQL+PHP的使用實例

這是我寫的統計曲線實例。歡迎交流。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<link rel="stylesheet" media="all" type="text/css" href="../../zhpt.css" />
<?php
if (!isset($_SESSION['ywclusername']))//判斷是否登錄
		{
			header("location:../../login.php");
			exit;
		}
?>

<?php //鄉鎮大氣曲線顯示
	
	include("../../configywcl.php");
	$xzapi=$jc;//大氣監測站傳值
	$sqlgroups="select rq,nian,yue,ri,$xzapi from xzdq order by rq";
	//echo $sqlgroups;
	$resultgroups=mysql_query($sqlgroups);
	$numrows=mysql_num_rows($resultgroups);
	if ($numrows>0)
	{		
		while($data=mysql_fetch_array($resultgroups))
		{
			$count++;
			$nian=$data['nian'];
			$yue=$data['yue']-1;
			$ri=$data['ri'];
			$api=$data["$xzapi"];
			$rq="{date: new Date($nian,$yue,$ri),api:$api}";
			//echo "$rq</br>";
			//$rq=$nian.','.$yue.','$ri;
			if ($count<$numrows)
			{				
				$shuju=$shuju."$rq,";
			}
			else
			{
				$shuju=$shuju."$rq";
			}
		}
	}
		$shuju="[$shuju];";
		//echo $shuju;

?>  
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
        <title><?php echo $dqjcd;?>PM10質量曲線</title>
        <link rel="stylesheet" href="style.css" type="text/css">
        <script src="../amcharts/amcharts.js" type="text/javascript"></script>
        <script src="../amcharts/raphael.js" type="text/javascript"></script>
        <script type="text/javascript">
        
            var chart;
            
			var chartData = [];
			
            var chartCursor;
			var average = 100;
			
            AmCharts.ready(function () {
                // generate some data first
                generateChartData();

                // SERIAL CHART    
                chart = new AmCharts.AmSerialChart();
                chart.pathToImages = "../amcharts/images/";
                chart.zoomOutButton = {
                    backgroundColor: '#000000',
                    backgroundAlpha: 0.15
                };
                chart.dataProvider = chartData;
                chart.categoryField = "date";

                // listen for "dataUpdated" event (fired when chart is rendered) and call zoomChart method when it happens
                chart.addListener("dataUpdated", zoomChart);

                // AXES
                // category
                var categoryAxis = chart.categoryAxis;
                categoryAxis.parseDates = true; // as our data is date-based, we set parseDates to true
                categoryAxis.minPeriod = "DD"; // our data is daily, so we set minPeriod to DD
                categoryAxis.dashLength = 1;
                categoryAxis.gridAlpha = 0.15;
                categoryAxis.axisColor = "#DADADA";
				
				

				
                // value                
                var valueAxis = new AmCharts.ValueAxis();
                valueAxis.axisAlpha = 0.2;
                valueAxis.dashLength = 1;
                chart.addValueAxis(valueAxis);
				
				 // GUIDE for average
                var guide = new AmCharts.Guide();
                guide.value = average;
                guide.lineColor = "#aa0000";
                guide.dashLength = 4;
                guide.label = "二級";
                guide.inside = true;
                guide.lineAlpha = 4;
                valueAxis.addGuide(guide);

                // GRAPH
                var graph = new AmCharts.AmGraph();
                graph.title = "空氣質量曲線";
                graph.valueField = "api";
                graph.bullet = "round";
                graph.bulletBorderColor = "#FFFFFF";//統計圖邊的顏色
                graph.bulletBorderThickness = 2;
                graph.lineThickness = 2;
                graph.lineColor = "#0000aa";//折線顏色
                graph.negativeLineColor = "#0352b5"; 
                graph.hideBulletsCount = 50; // this makes the chart to hide bullets when there are more than 50 series in selection
                chart.addGraph(graph);

                // CURSOR 鼠標手勢
                chartCursor = new AmCharts.ChartCursor();
                chartCursor.cursorPosition = "mouse";
                chart.addChartCursor(chartCursor);

                // SCROLLBAR 上部-滾動選擇條
                var chartScrollbar = new AmCharts.ChartScrollbar();
                chartScrollbar.graph = graph;
                chartScrollbar.scrollbarHeight = 40;
                chartScrollbar.color = "#ffffff";
                chartScrollbar.autoGridCount = true;
                chart.addChartScrollbar(chartScrollbar);

                // WRITE
                chart.write("chartdiv");
            });
			
			
            // 賦值
            function generateChartData() {
                chartData=<?php echo $shuju;?>;
            }
			

            // this method is called when chart is first inited as we listen for "dataUpdated" event
            function zoomChart() {
                // different zoom methods can be used - zoomToIndexes, zoomToDates, zoomToCategoryValues
                chart.zoomToIndexes(chartData.length - 40, chartData.length - 1);
            }
            
            // changes cursor mode from pan to select
            function setPanSelect() {
                if (document.getElementById("rb1").checked) {
                    chartCursor.pan = false;
                    chartCursor.zoomable = true;
                    
                } else {
                    chartCursor.pan = true;
                }
                chart.validateNow();
            }            
        </script>
    </head>
    
    <body>
  <table width="100%" border="0">
  <tr>
    <td><h1 align="center"><a href="../../yw_jcz_xzdq.php"><img src="../../images/undo.png"class="t3"/></a><?php echo $dqjcd?> PM10曲線圖</h1></td>
  </tr>
  </table>

<div id="chartdiv" style="width: 100%; height: 400px;"></div>
        <div id="chartdiv" style="margin-left:400px;">
            <input type="radio" checked="true" name="group" id="rb1" onclick="setPanSelect()">選擇
            <input type="radio" name="group" id="rb2" onclick="setPanSelect()">拖拽
		</div>        
<?php
	include("../../foot.php")
?>


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章