Bonjour, dans le cadre d'un projet, j'utilise la technologie flex ainsi que AMFPHP pour faire des requêtes sur une base de données MYSQL.
J'ai quelques problèmes à résoudre et j'espère que vous pourrez m'aider.
Premier problème :
Un service AMFPHP me renvoie un tableau associatif, comment faire en sorte que flex puisse générer un tableau via le evt.result?
En flex :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 private function recupSite_resultHandler(evt:ResultEvent) :void { var dp = new Array(evt.result); gui.text = dp; }
Cette fonction récupère le résultat de cette méthode AMFPHP :
Mes services fonctionnent, ce n'est ici qu'un problème de formatage.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 function listeSite(){ if ($this->id!='0'){ $in = 'SELECT id_website, url_website, nom_website FROM website WHERE id_user = "' . $this->id . '";'; $res = mysql_query($in); $tab = array('id_website'=>array(), 'url_website'=>array(), 'nom_website'=>array()); while($s = mysql_fetch_array($res)) { $tab['id_website'][] = $s['id_website']; $tab['url_website'][] = $s['url_website']; $tab['nom_website'][] = $s['nom_website']; } if(!$tab) return false; return ($tab); } else { return 'aucun site'; } }
En fait, evt.result contient mon $tab ou false mais le problème c'est que je n'arrive pas à mettre ce résultat dans un tableau Flex afin de pouvoir traiter les données plus facilement.
Second problème :
Mapping flex amfphp
Alors la c'est le comble, j'ai lu de nombreux tutoriaux expliquant comment mapper 1 classe actionscript (flex) et une classe php.
Cette technique marche parfaitement en local, mais lorsque je passe mon amfphp sur un serveur distant, je n'ai plus aucun mapping qui fonctionne.
En flex :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 package com { [RemoteClass(alias="com.User")] [Bindable] public dynamic class User { public var login:String; public var pswd:String; public var id:String; public function User() { } } }
et en php :
Ma classe User.as est bien dans l'arborescence : ProjetFlex/src/com/User.as
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 <?php //Objet User "mappé" avec l'objet 'User' de Flex class User { //on indique le type d'objet var $_explicitType = "com.User"; var $login; var $pswd; var $id; function User() { } }
et ma classe PHP dans : serveurweb/amfphp/services/vo/com/User.php
Alors là si quelqu'un a la solution : ALLELLUIA !!!
Partager