今天刚试验了phprpc作为flex 与数据库打交道的一系列添加,删除,修改操作。感觉爽呆了,很好。由于刚写好,代码有些冗余,见笑了。以后再慢慢优化。
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" creationComplete="init()">
<mx:Script>
<
var rpc:PHPRPC_Client = new PHPRPC_Client('http://localhost/flex/phprpc/server/getUsers.php', ['getUsers']);


rpc.getUsers(function (result:*, args:Array, output:String, warning:PHPRPC_Error):void {
//var i:int;
// var users:Array = new Array();
//for(i=0;i<result.length;i++){
// users.push(result[i]);
// }
dgusers.dataProvider=result;//把数据源绑定到列表中
});
}
public function edit():void{
//Alert.show(dgusers.selectedItem.id);
var eid:String=dgusers.selectedItem.id;
var name:String=user_name.text;
var password:String=user_psw.text;
//Alert.show(eid);
//Alert.show(name);
//Alert.show(password);
var rpc:PHPRPC_Client = new PHPRPC_Client('http://localhost/flex/phprpc/server/editUsers.php', ['editUsers']);
rpc.editUsers(eid,name,password,function (result:*, args:Array, output:String, warning:PHPRPC_Error):void {
if(result){
Alert.show("ok");
var rpc:PHPRPC_Client = new PHPRPC_Client('http://localhost/flex/phprpc/server/getUsers.php', ['getUsers']);


rpc.getUsers(function (result:*, args:Array, output:String, warning:PHPRPC_Error):void {
dgusers.dataProvider=result;//把数据源绑定到列表中
});
}else{
Alert.show("error");
}
// dgusers.dataProvider=result;//把数据源绑定到列表中
});
}
public function add():void{

var name:String=add_username.text;
var password:String=add_userpsw.text;
//Alert.show(name);
//Alert.show(password);
var rpc:PHPRPC_Client = new PHPRPC_Client('http://localhost/flex/phprpc/server/insertUsers.php', ['insertUsers']);
rpc.insertUsers(name,password,function (result:*, args:Array, output:String, warning:PHPRPC_Error):void {
if(result){
Alert.show("ok");
var rpc:PHPRPC_Client = new PHPRPC_Client('http://localhost/flex/phprpc/server/getUsers.php', ['getUsers']);


rpc.getUsers(function (result:*, args:Array, output:String, warning:PHPRPC_Error):void {
dgusers.dataProvider=result;//把数据源绑定到列表中
});
}else{
Alert.show("error");
}
// dgusers.dataProvider=result;//把数据源绑定到列表中
});
}
public function deleteUser():void{

var did:String=dgusers.selectedItem.id;
var rpc:PHPRPC_Client = new PHPRPC_Client('http://localhost/flex/phprpc/server/deleteUsers.php', ['deleteUsers']);
rpc.deleteUsers(did,function (result:*, args:Array, output:String, warning:PHPRPC_Error):void {
if(result){
Alert.show("ok");
var rpc:PHPRPC_Client = new PHPRPC_Client('http://localhost/flex/phprpc/server/getUsers.php', ['getUsers']);


rpc.getUsers(function (result:*, args:Array, output:String, warning:PHPRPC_Error):void {
dgusers.dataProvider=result;//把数据源绑定到列表中
});
}else{
Alert.show("error");
}
// dgusers.dataProvider=result;//把数据源绑定到列表中
});
}
]]>
</mx:Script>

<mx:states>
<mx:State name="AddUser">
<mx:AddChild relativeTo="{panel1}" position="lastChild">
<mx:VBox x="85" y="250" width="200" height="200" id="myVBox">
<mx:Label text="ADD"/>
<mx:Label text="ID:"/>
<mx:Label text="name:"/>
<mx:TextInput id="add_username"/>
<mx:Label text="psw:"/>

<mx:TextInput id="add_userpsw"/>
<mx:Button label="ok" click="add()"/>
</mx:VBox>
</mx:AddChild>
<mx:SetEventHandler target="{bu_add}" name="click" handler="currentState=''"/>
</mx:State>
</mx:states>

<mx:transitions>
<mx:Transition id="myTransition" fromState="*" toState="Advanced">
<mx:Parallel target="{myVBox}">
<mx:WipeDown duration="2000"/>
<mx:Dissolve alphaFrom="0.0" alphaTo="1.0" duration="1000"/>
</mx:Parallel>
</mx:Transition>
</mx:transitions>

<mx:Panel x="58" y="10" width="609" height="492" layout="absolute" id="panel1" title="phprpc">
<mx:Label x="86" y="5" text="name:"/>
<mx:Label x="86" y="31" text="psw:"/>
<mx:Label x="218" y="5" id="username"/>
<mx:Label x="218" y="27" id="userpsw"/>
<mx:DataGrid x="86" y="54" id="dgusers">
<mx:columns>
<mx:DataGridColumn headerText="name" dataField="name"/>
<mx:DataGridColumn headerText="psw" dataField="pw"/>
</mx:columns>
</mx:DataGrid>
<mx:TextInput fontSize="12" htmlText="{dgusers.selectedItem.id}" x="340" y="50"/>

<mx:Label x="385" y="27" text="EDIT"/>
<mx:Label x="297" y="54" text="ID:"/>
<mx:Label x="296" y="91" text="name:"/>
<mx:TextInput x="340" y="89" htmlText="{dgusers.selectedItem.name}" id="user_name"/>
<mx:Label x="296" y="117" text="psw:"/>
<mx:TextInput x="340" y="119" displayAsPassword="true" htmlText="{dgusers.selectedItem.pw}" id="user_psw"/>
<mx:Button x="340" y="149" label="ok" id="bu_ok" click="edit()"/>
<mx:Button x="86" y="219" label="ADD" click="currentState='AddUser'" id="bu_add"/>
<mx:Button x="191" y="219" label="DELETE" click="deleteUser()"/>
</mx:Panel>
</mx:Application>

转载请注明出处,谢谢。