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 .= "";
foreach ( $arr as $use){
$xml_return .="{$use['sum']}{$use['day']} ";
}
$xml_return.= "";
echo $xml_return;
显示6个月的消费记录,$arr也可以是从数据库读出来的数据,这里只是作为一个例子,所以直接给一个数组赋值。
-
-
153.1
01
-
882.86
02
-
456.9
03
-
717.7
04
-
255.1
05
-
533.1
06
Php部分就完成了 接下来是写MXML:
代码:
import mx.rpc.events.ResultEvent;//引用ResultEvent类
public function getaccount():void{
listRequest.url='http://localhost/arr.php';
listRequest.send();
}
]]>
逐一解释一下
代码:
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里面的脚本 都用 包含进去
下面分析下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里面的数据的标签