将FusionChartsFree的FusionCharts.js文件和swf文件,还有相应的xml文件拷贝到我们要兴建的工程里,其目录结构如下图:
具体代码如下:
(请大家注意,新浪为了避免黑客利用JS漏洞对页面进行篡改,所以给所有博文中的getElementById后面都自动加上了x_x,所有getElementsByTagName后面都自动加上了_r,请您在使用本源码的时候去掉就可以了。)
pie.php文件内容如下:
<?php
//$sql = "";// 查询数据库要用的SQL
$allnum = array(20,30,40,80,60,10,70,50);//从数据库得到结果集数组
$xml = newDOMDocument();//实例化DOM对象
$xml->load( 'chart/xml/Pie2D.xml');//载入要处理的XML文件
$i =1;
foreach($xml->getElementsByTagName_r('set') as$list)
{
$id =$list->getAttribute('id');
if ($id ==$i)
{
$list->setAttribute('value', $allnum[$i-1]);
}
$value =$list->getAttribute('value');
$i++;
}
$xml->save('chart/xml/Pie2D.xml');//保存修改后的XML文件
include'pie.html';//如果用了Smarty模板引擎,这里就是$smarty->display("pie.html");
其Pie2D.xml文件的内容如下:
<?xml version="1.0"encoding="GB2312"?>
<graph showNames="1" decimalPrecision="0"baseFontSize="16">
![[转载]我做的PHP结合FusionCharts生成中文饼状统计图的例子 fusioncharts](http://img.aihuau.com/images/31101031/31031941t0161d016e27d630091.jpg)
<set name="张洋"value="20" id="1" isSliced="1"/>
<set name="贝拉克.奥巴马" value="30"id="2"/>
<set name="吉米.卡特" value="40"id="3"/>
<set name="乔治.华盛顿" value="80"id="4"/>
<set name="约翰.亚当斯" value="60"id="5"/>
<set name="托马斯.杰斐逊" value="10"id="6"/>
<set name="亚伯拉罕.林肯" value="70"id="7"/>
<set name="詹姆斯.布坎南" value="50"id="8"/>
</graph>
其pie.html文件的内容如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01Transitional//EN""http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<title>饼图示例</title>
<script language="JavaScript"src="chart/JSClass/FusionCharts.js"></script>
</head>
<body>
<div>
<div id="chartdiv" align="center">统计图生成失败 </div>
<script type="text/javascript">
var chart = new FusionCharts("chart/swf/FCF_Pie2D.swf", "ChartId","700", "400");
chart.setDataURL("chart/xml/Pie2D.xml");
chart.render("chartdiv");
</script>
</div>
</body>
</html>