PHP和FusionCharts创建交互式钻取报表
= rand($MinTime, $MaxTime); mysql_query("INSERT INTO `users` (Time) VALUES (FROM_UNIXTIME({$RandomTime}))") or die(mysql_error()); } echo "Inserted {$RecordsToInsert} records."; ?> 这里我们往用户表的时间字段,随机插入了2010年内的任意一个时间,最后把这个文件保存为generate-random-data.php。 步骤4 准备应用的HTML页框架 首先,我们使用HTML设计一个用于呈现报表的区域,代码如下: <html><head> <title>FusionCharts v3.2 - LinkedCharts with PHP Demo</title <script type="text/javascript" src="Charts/FusionCharts.js"></script> </head> <body> <div id="chartContainer">FusionCharts will load here</div> <script type="text/javascript"><!-- var myChart = new FusionCharts( "Charts/Column3D.swf", "myChartId", "800","400"); myChart.setXMLUrl( "get-data.php?year=2010" ); myChart.render( "chartContainer" ); // --> </script> </body> </html> 把这个文件保存为demo.html,下面解析下这个文件:
首先,在head部分,要引入FusionCharts.js库,在body部分,在中将会是图表放置的地方。接下来是一段很短的javascript,其中: a) Charts/Column3D.swf,指出了这里使用的是Column3D这个Flash类型的图表;
b) myChartId指定了图表的id,这是很有用的,特别是当有多个图表时,图表之间互相引用; c) 而800和400则是指定了图片的宽度和高度; 而myChart.setXMLUrl("get-data.php?year=2010" )则指定了数据来源,这里我们告诉图表的数据将会以XML的形式加载,而get-data.php?year=2010这个脚本则会负责读取后端的数据。 步骤5 编写后端程序 FusionCharts需要XML或者JSON格式的数据源,本文使用XML。而我们编写后端程序的目的是能够从数据库中读取数据,并且产生XML格式的文件,生成的数据格式应该是如下样子的: <chart caption="Monthly New Users for the Year: 2010" xAxisName="Months" yAxisName="Users" showNames="1" bgColor="E6E6E6,F0F0F0" bgAlpha="100,50" bgRatio="50,100" bgAngle="270" showBorder="1" borderColor="AAAAAA" baseFontSize="12">http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |