Flash生成饼状图让我从此不在求gd帮忙

在做一些数据统计的时候,为了更好的向客户展示一些信息,我们会将整理好的数据通过Php的GD函数库来输出饼状图,或是线性图,条形图等等,总之就是让客户能更好的比较这些数据。以前我的做法也是这样,但是GD函数用着还是有些不爽,自己也没怎么去深深的研究它。为此当生成这些图,尤其是饼状图的时候总是会借助搜索引擎来帮忙实现。

现在好了,一个Flash源文件来帮我搞定,我只需要将整理好的数据传递到模板Html文件中,剩下的工作Flash会帮我来完成。

好了,展示一下效果图:

讲解 (>>>请先下载此Flash饼状图源码<<<

使用此Flash文件,你需要PHP来处理的只是整理数据的一个过程,如本例中的:

PHP代码
  1. <?php
  2. $array = array (
  3. 0 => array (
  4. "name" => "数据一",
  5. "value" => 28,
  6. "color" => "#ff0000",
  7. ),
  8. 1 => array (
  9. "name" => "数据二",
  10. "value" => 30,
  11. "color" => "#0000ff",
  12. ),
  13. 2 => array (
  14. "name" => "数据三",
  15. "value" => 45,
  16. "color" => "#008800",
  17. ),
  18. );
  19. $flashVar = null;
  20. foreach($array as $a) {
  21. $flashVar .= "<set name='" . $a['name'] . "" value="" . $a['value'] . "" color="" . $a['color'] . "" />";
  22. }
  23. ?>

假设我们处理好的数据为$array。然后整理为$flashVar数据,当然你也可以直接生成$flashVar数据。然后传递到模板html文件中

如本例中的HTML代码

XML/HTML代码
  1. <html>
  2. <head>
  3. <title>生成饼关图-phplamp博客站</title>
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  5. </head>
  6. <body>
  7. <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0"
  8. width="500" height="230" align="" viewastext>
  9. <param name="allowScriptAccess" value="sameDomain">
  10. <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">
  11. <?php echo $flashVar;?>
  12. </graph>">
  13. <param name="movie" value="round.swf?chartWidth=500&ChartHeight=230">
  14. <param name="quality" value="high">
  15. <param name="wmode" value="transparent">
  16. <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"/>
  17. </object>
  18. </body>
  19. </html>

红色部分为要输出的$flashVar参数!

版块:其它源码 Tags: , 时间:2008-08-13
文章评论
4 回复 for "Flash生成饼状图让我从此不在求gd帮忙"
Dianso - 2008-08-25
我太菜了 看不懂
dx_andy - 2008-08-25
其实比较简单,认真看一下你就明白了!
思念 - 2008-10-27
看不懂,不知道怎么使用
fictionboy - 2008-11-14
真TMD方便 呵呵
评论表单