Flex(ActionScript3)+XML+PHP+MySQL的Web框架的数据传递

来源:互联网 发布:怎样做数据分析 编辑:程序博客网 时间:2024/05/17 04:23

之所以取这个标题,是根据数据流的传递

Flex端的数据(可以是获取用户输入的数据) ,通过HttpService封装成XML格式的数据,发送HttpService请求,

部署在Web容器中的PHP脚本接受XML数据并操作数据库,返回的数据可以是单一的数据,也可以封装XML格式

的数据继续返回给Flex的Web前端。

代码主要有3个部分:

1,Flex触发及接受返回数据:

  private function getUserf():void{
   userArray=new ArrayCollection();
   getUser.send();
  }

  private function modifyUserRest(event:ResultEvent):void{
   var sbr:String=String(event.result);
   if(sbr=="true"){
    getUserf();
    mx.controls.Alert.show("Succeed to modify"+sbr);
   }
   else{
    mx.controls.Alert.show("Modify failed"+sbr);
   }
  }

2,HttpService请求:

<mx:HTTPService id="modifyUser" useProxy="false" url="http://127.0.0.1/modifyPhoneBook.php"
  method="POST" result="modifyUserRest(event)">
 <mx:request xmlns="">
  <name>
   {agName1.text}
  </name>
  <phone>
   {agPhone1.text}
  </phone>
  <status>
   {agStatus1.text}
  </status>
 </mx:request>
</mx:HTTPService>

3.PHP对XML的解析及返回数据:

<?php

 define( "DATABASE_SERVER", "127.0.0.1" );
 define( "DATABASE_USERNAME", "root" );
 define( "DATABASE_PASSWORD", "yourpassword" );
 define( "DATABASE_NAME", "yourdatabase" );
 
 //connect to the database
 $mysql = mysql_connect(DATABASE_SERVER, DATABASE_USERNAME, DATABASE_PASSWORD) or die(mysql_error());
 
 //select the database
 mysql_select_db( DATABASE_NAME );
 mysql_query("set names 'gbk'");

 
 //asign the data passed from Flex to variables
 $name= mysql_real_escape_string($_POST["name"]);
 $phone= mysql_real_escape_string($_POST["phone"]);
 $status= mysql_real_escape_string($_POST["status"]);
 
 $query = "update phonebook set name='$name',status='$status' where phoneNumber='$phone'";
 
 $result = mysql_query($query) or die("could not complete database query");
   
 echo "true";

 mysql_close();
 
?>

补上PHP封装XML数据:

 $output.="<agentDegree>";
 $output.=$agentDegree;
 $output.="</agentDegree>";

 print ($output);

当然数据库这里就省略了,主要还是给出一种数据的流程描述,接下来一篇我要好好描述Json(取代XML)

原创粉丝点击