Flash生成饼状图让我从此不在求gd帮忙
在做一些数据统计的时候,为了更好的向客户展示一些信息,我们会将整理好的数据通过Php的GD函数库来输出饼状图,或是线性图,条形图等等,总之就是让客户能更好的比较这些数据。以前我的做法也是这样,但是GD函数用着还是有些不爽,自己也没怎么去深深的研究它。为此当生成这些图,尤其是饼状图的时候总是会借助搜索引擎来帮忙实现。
现在好了,一个Flash源文件来帮我搞定,我只需要将整理好的数据传递到模板Html文件中,剩下的工作Flash会帮我来完成。
好了,展示一下效果图:

使用此Flash文件,你需要PHP来处理的只是整理数据的一个过程,如本例中的:
- <?php
- $array = array (
- 0 => array (
- "name" => "数据一",
- "value" => 28,
- "color" => "#ff0000",
- ),
- 1 => array (
- "name" => "数据二",
- "value" => 30,
- "color" => "#0000ff",
- ),
- 2 => array (
- "name" => "数据三",
- "value" => 45,
- "color" => "#008800",
- ),
- );
- $flashVar = null;
- foreach($array as $a) {
- $flashVar .= "<set name='" . $a['name'] . "" value="" . $a['value'] . "" color="" . $a['color'] . "" />";
- }
- ?>
假设我们处理好的数据为$array。然后整理为$flashVar数据,当然你也可以直接生成$flashVar数据。然后传递到模板html文件中
如本例中的HTML代码
- <html>
- <head>
- <title>生成饼关图-phplamp博客站</title>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- </head>
- <body>
- <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0"
- width="500" height="230" align="" viewastext>
- <param name="allowScriptAccess" value="sameDomain">
- <param name="FlashVars" value="dataXML=<graph shownames="1" showvalues="0" decimalPrecision="0" pieRadius="150" numberPrefix='' formatNumber="1" formatNumberScale="0" baseFont="宋体" baseFontSize="12" outCnvBaseFontSze="宋体" outCnvBaseFontSize="11">
- <?php echo $flashVar;?>
- </graph>">
- <param name="movie" value="round.swf?chartWidth=500&ChartHeight=230">
- <param name="quality" value="high">
- <param name="wmode" value="transparent">
- <embed src="round.swf" flashVars="&dataXML=<graph shownames='1" showvalues='0" decimalPrecision='0" pieRadius='150" numberPrefix='' formatNumber='1" formatNumberScale='0" baseFont='宋体" baseFontSize='12" outCnvBaseFontSze='宋体" outCnvBaseFontSize='11"><?php echo $flashVar;?></graph>" quality="high" width="500" height="330" name="Column3D" type="application/x-shockwave-flash" pluginspage=" http://www.macromedia.com/go/getflashplayer" wmode="transparent"/>
- </object>
- </body>
- </html>
红色部分为要输出的$flashVar参数!
