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 :

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';
        }           
    }
Mes services fonctionnent, ce n'est ici qu'un problème de formatage.
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 :

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()
    {
 
    }
}
Ma classe User.as est bien dans l'arborescence : ProjetFlex/src/com/User.as
et ma classe PHP dans : serveurweb/amfphp/services/vo/com/User.php

Alors là si quelqu'un a la solution : ALLELLUIA !!!