SQL吧 网站源码下载 企业网站源码下载 免费网站源码下载

当前位置: 主页 > 教程 > 程序 > php >

用PHP和MXML 实现FLASH 曲线图

时间:2013-02-27 10:19来源: 作者: 点击:
用PHP和MXML 实现FLASH 曲线图
企业站建365全包!先制作!后付款!600多套模版任你选择!晴网www.138.la专注企业站建仿站、域名、空间、云主机、服务器, 咨询电话:020-29031983 qq:2769485357

MXML是一个可以让你在Adobe Flex中布局用户界面组件的一种XML语言。你也可以使用MXML声明来定义程序中的非可视化组件。安装好FLEX Development 后,你就可以轻松的结合PHP完成一个FLASH曲线图。

先从PHP入手:
FLEX 和PHP的交互最常用的就是
和XML的交互,就是用PHP生成XML,然后用FLEX去读取并且显示。

我们以XML的形式先写一个帐目详单的数据。
 
代码:
header("Content-Type: text/xml");
$arr = array(
                            array('day'=>'01','sum'=>'153.1'),
                            array('day'=>'02','sum'=>'882.86'),
                            array('day'=>'03','sum'=>'456.9'),
                            array('day'=>'04','sum'=>'717.7'),
                            array('day'=>'05','sum'=>'255.1'),
                            array('day'=>'06','sum'=>'533.1')
);

$xml_return  .= "<bills>";
foreach ( $arr as $use){
       $xml_return .="<bill><sum>{$use['sum']}</sum><name>{$use['day']}</name></bill> ";
}
$xml_return.= "</bills>";
echo $xml_return;
显示6个月的消费记录,$arr也可以是从数据库读出来的数据,这里只是作为一个例子,所以直接给一个数组赋值。

- <bills>
- <bill>
<sum>153.1</sum>

<name>01</name>

</bill>


- <bill>
<sum>882.86</sum>

<name>02</name>

</bill>


- <bill>
<sum>456.9</sum>

<name>03</name>

</bill>


- <bill>
<sum>717.7</sum>

<name>04</name>

</bill>


- <bill>
<sum>255.1</sum>

<name>05</name>

</bill>


- <bill>
<sum>533.1</sum>

<name>06</name>

</bill>


</bills>

 


Php部分就完成了 接下来是写MXML:
 
代码:
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"  creationComplete="getaccount()">
   <mx:HTTPService id="listRequest" url="" useProxy="false" method="POST">
   <mx:request xmlns=""> </mx:request>
   </mx:HTTPService>
  
   <mx:Script><![CDATA[
    import mx.rpc.events.ResultEvent;//引用ResultEvent类
    public function getaccount():void{
  listRequest.url='http://localhost/arr.php';
     listRequest.send();
}
  ]]></mx:Script>
   <mx:LineChart showDataTips="true" clipContent="false" x="126" y="10" id="tongjitu"  dataProvider="{listRequest.lastResult.bills.bill}" width="678">
   <mx:horizontalAxis>     
    <mx:CategoryAxis dataProvider="{listRequest.lastResult.bills.bill}"  categoryField="name" title="(日)" />
   </mx:horizontalAxis> 
      <mx:series>
         <mx:LineSeries displayName="每日消费" yField="sum" xField="name"/>
    </mx:series>
   </mx:LineChart>

</mx:Application>
逐一解释一下

 
代码:
Application //MXML应用程序开头


 
代码:
creationComplete="getaccount()" //代表页面加载完成后 执行 getaccount函数


 
代码:
〈mx:HTTPService id="listRequest" url="" useProxy="false" method="POST"〉
   〈mx:request xmlns=""〉 〈/mx:request〉
   〈/mx:HTTPService〉
//则是一个HTTP的请求,发送POST到一个PHP文件 去获取数据


 
代码:
mx:Script //MXML里面的脚本 都用 <mx:Script>包含进去


下面分析下getaccount函数:

 
代码:
public function getaccount():void{
       listRequest.url='http://localhost/arr.php';
        listRequest.send();
    }

//列出了 HTTPService 请求地址是  http://localhost/arr.php
//你同样也可以写成相对路径 比如 listRequest.url='./arr.php';


 
代码:
mx:LineChart  //是一个 曲线 组件,我们可以直接拿来使用


 
代码:
dataProvider :数据源:listRequest.lastResult.bills.bill
       bills.bill 是XML里面的标签


 
代码:
  mx:LineSeries displayName="每日消费" yField="sum" xField="name" 
//则定义了 横纵坐标的值。   
//Sum  name  就是XML里面的数据的标签

(责任编辑:admin)
顶一下
(0)
0%
踩一下
(0)
0%
0
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
栏目列表
推荐内容