加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

? Open Flash Chart + PHP + Mysql生成动态图表

发布时间:2020-12-15 07:05:05 所属栏目:百科 来源:网络整理
导读:网址:http://www.helloweba.com/view-blog-41.html Open Flash Chart + PHP + Mysql生成动态图表 helloweba.com 作者:月光光 时间:2010-08-16 11:18 ? ? ? ? ? 标签: Open Flash Chart? PHP? ? ? ? ? ? 前面文章我简单介绍了Open Flash Chart2(OFC)的使用

网址:http://www.helloweba.com/view-blog-41.html


Open Flash Chart + PHP + Mysql生成动态图表

helloweba.com 作者:月光光 时间:2010-08-16 11:18 ? ? ? ? ? 标签: Open Flash Chart? PHP? ? ? ? ? ?

前面文章我简单介绍了Open Flash Chart2(OFC)的使用方法,本文将以笔者做过的实际项目为例,介绍通过PHP读取MYSQL数据库里的数据,然后生成JSON数据,再通过FLASH渲染成漂亮的动态饼状图的方法。

1、在HTML页面的head标签之间加入以下代码:

<script?type="text/javascript"?src="js/swfobject.js"></script>?
<script?type="text/javascript">?
var?flashvars?=?{"data-file":"area_pie.php"};?//这里是数据源??
var?params?=?{menu:?"false",scale:?"noScale",wmode:"opaque"};??
swfobject.embedSWF("open-flash-chart.swf",?"chart",?"550px",?"350px",?
?"9.0.0","expressInstall.swf",?flashvars,params);??
</script>?

注意:与上一张不同的是我们使用的数据源文件:area_pie.php,该文件就是用来将MYSQL数据生成JSON数据的。其他的都跟上一篇文章介绍的一样,请参照Open Flash Chart 超强的图表生成组件。

2、在body中加入载入图表的HTML元素。

<div?id="chart"></div>??

3、准备PHP库。

我们知道OFC提供了各种接口程序,包括PHP/PHP5、Pear、Python、Java、Dotnet。

我们将从官网上下载的压缩包文件解压后发现有一个名为php-ofc-library文件夹,这里放的就是PHP接口的所有库文件,不用管里面的文件,只需把整个文件夹复制到你的项目的根目录下并改名为ofc。

4、读取mysql生成JSON数据

这是关键部分,调用mysql数据库接口的部分代码大家可以自己写下,限于篇幅,本文就没有将其附上。

area_pie.php代码如下:

include_once?('global.php');??//调用数据库?
include_once?('ofc/open-flash-chart.php');?//调用OFC库文件?
//设置图表标题?
$title?=?new?title(?'各区域单位场所数量分布图'.date('Y-m-d')?);?
$title->set_style("font-size:12px;?font-weight:bold;");?
$pie?=?new?pie();?
$pie->set_alpha(0.6);?
$pie->set_start_angle(?32?);?
$pie->add_animation(?new?pie_fade()?);?
$pie->set_tooltip(?'#val#?of?#total##percent#?of?100%'?);?
$pie->set_colours(?array('#1C9E05','#FF368D','#0099cc','#d853ce','#ff7400','#006e2e',?
'#d15600','#4096ee','#c79810')?);?
//读取各区域信息?
$sql="select?sum(total)?as?num?from?".$prefix."district";?
$query=$db->query($sql);?
$rs=$db->fetch_array($query);?
$t=$rs[num];?
$sql="select?name,total?from?".$prefix."district";?
$query=$db->query($sql);?
while($row=$db->fetch_array($query)){?
????$total=$row[total];?
????if(!empty($t)){?
????????$v=round($total/$t,4)*100;?
????}else{?
????????$v=0;?
????}?
????$dis[]=array("name"=>$row[name],"total"=>$row[total],"v"=>$v);?
}?
$len_dis=count($dis);?
for($i=0;$i<$len_dis;$i++){?
????$dis_value[]=new?pie_value(intval($dis[$i][total]),$dis[$i][name]."(".$dis[$i][v]."%)");?
}?
$pie->set_values($dis_value);?
?
$chart?=?new?open_flash_chart();?
$chart->set_title(?$title?);?
$chart->add_element(?$pie?);?
$chart->x_axis?=?null;?
echo?$chart->toPrettyString();?//生成json数据?

? ? ?

声明:本文为原创文章,helloweba.com和作者拥有版权,如需转载,请注明来源于helloweba.com并保留原文链接,否则视为侵权。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读