前几天,我的群组的成员 iceworks1983 提出了这个问题,今天上班利用空闲时间研究了一下,发现是可以接收的,方法如下:
PHP代码(PHP代码是完成从数据库调用一个收藏夹的信息,可以调用信息,可以加入信息,PHP代码是用的iceworks1983的):
<?
php
class
Favorite{
private
$dbhost
=
"
localhost
"
;
//
数据库地址
private
$dbname
=
"
favorite
"
;
//
数据库名称
private
$dbuser
=
"
root
"
;
//
数据库用户名
private
$dbpass
=
""
;
//
数据库密码
private
$conn
;
//
数据库连
function
Favorite(){
$this
->
conn
=
mysql_connect
(
$this
->
dbhost
,
$this
->
dbuser
,
$this
->
dbpass);
mysql_select_db
(
$this
->
dbname);
}
function
append(
$name
,
$url
){
$rs
=
mysql_query
(
"
INSERT INTO tbl_favorite(webname,url) VALUES('
"
.
$name
.
"
', '
"
.
$url
.
"
')
"
);
if
(
mysql_error
())
return
"
error
"
;
else
return
$name
;
}
function
getData(){
//
return "hello!";
return
mysql_query
(
"
SELECT * FROM tbl_favorite
"
);
}
}
?>
as3.0代码(建一个document class):
package net.smilecn.favorite
...
{
import flash.display.Sprite;
import net.smilecn.net.Remoting;

public class Favorite extends Sprite...{
private var remoting:Remoting;

public function Favorite()...{
init();
}

private function init():void...{
remoting=new Remoting("http://localhost/flashservices/gateway.php",3);
remoting.respond("flashservices.Favorite.getData",onGetData_Ruslt,onGetData_Fault);
}

private function onGetData_Ruslt(re:*):void...{
trace(re["serverInfo"]["initialData"]);
}
private function onGetData_Fault(fe:*):void...{
for(var what in fe)...{
trace(what+" fe:"+fe[what]);
}
}
}
}
在返回结果的地方 re["serverInfo"]["initialData"] 就是返回的php的数据集,是一个二维数组.
这里的Remoting类,是我之前的文章中自己定义的Remoting类,没看过的朋友可以看看之章的文章.

本文介绍了一种使用AS3.0与PHP进行数据交互的方法。通过自定义的Remoting类实现Flash与PHP服务器之间的通信,展示了如何从PHP数据库获取收藏夹信息,并在AS3端解析这些数据。
105

被折叠的 条评论
为什么被折叠?



