帝国CMS模板大全
www.admin99.cn
www.92cms.cn 帝国CMS模板下载站!,情怀,养站,二次开发!源码需求比较大的一站式会员下载,价更省!!!

PHP和mxml 实现FLASH 曲线图 - php高级应用

PHP和mxml 实现FLASH 曲线图

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> " ; 
} //开源代码phpfensi.com  
$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里面的数据的标签  

赞(0)
版权声明:本文采用知识共享 署名4.0国际许可协议 [BY-NC-SA] 进行授权
文章名称:《PHP和mxml 实现FLASH 曲线图 - php高级应用》
文章链接:https://www.admin99.cn/8151
本站资源仅供个人学习交流,请于下载后24小时内删除,不允许用于商业用途,否则法律问题自行承担。
QQ站长交流群:953950264

登录

找回密码

注册