begin process at 2008 08 28 17:36:48
1 233 273 membres
370 nouveaux aujourd'hui
14 291 membres club

Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum.
Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : faire passer des object ou array de php à flash [ Base de données / Autre ] (choy)

faire passer des object ou array de php à flash le 30/01/2007 15:39:24

choy
Bonjour, je me suis fait un code flash qui à parti d'un objet du type :
anniversaires=[{pseudo:"choy",age:22},{pseudo:"machin",age:34}];
me fait une ptite liste animée.
Maintenant j'aimerai que cette liste s'alimente via php, j'ai fait un code qui me sortait ça :
&mavar=[{pseudo:"choy",age:22},{pseudo:"machin",age:34}]&
mais comme vous vous en doutez ça ne marche pas.

Comment puis je faire passer des infos structurés de php à flash ?? j'avai déja essayé avec du xml mais le probleme et que je n'arrive pas à envoyer des variables au php qui génere le xml (dans cet exemple je n'envois pas de variable mais j'ai d'autre code qui en auront besoin).
Merci à ceux et celles qui se pencheront sur le sujet !

Re : faire passer des object ou array de php à flash le 31/01/2007 10:00:41

Slagt
Membre Club
Tu ne peux envoyer à Flash via PHP que du texte je crois.

Ce que tu peux faire c'est envoyer "pseudo:choy,age:22;pseudo:machin,age:34"
Après tu traites cette chaine de caractères pour en retirer quelque chose.
Déjà tu coupe au niveau des ";" pour avoir les différents éléments.

var mavar:String = "pseudo:choy,age:22;pseudo:machin,age:34";
var T1:Array = mavar.split (";");

ensuite tu coupe chaque élément de T1 au niveau de la virgule, pour obtenir les différents paramètres. Pour ça il va falloir parcourir le tableau et coupé à chaque fois :

for (var i:Number = 0; i<T1.length; i++)
{
    T1[i] = T1[i].split (",");
}

ensuite, dans cette même boucle for, tu rajoutes le code qui va permettre de créer tes objets, et les mettres dans un tableaux.
Pour ça il faut d'abord créer le tableau qui stockera les résultats. Puis il faudra créer les objets, et enfin mettre les objets dans le tableau.

var mavar:String = "pseudo:choy,age:22;pseudo:machin,age:34";     // Variable envoyé par PHP
var T1:Array = mavar.split (";");                                                         // On coupe au niveau des ";"
var Resultat:Array = newArray();                                                       // On créer le tableau de stockage

for (var i:Number = 0; i<T1.length; i++)       // On parcours tous les éléments du tableau
{
    T1[i] = T1[i].split (",");                              // On coupe au niveau de la virgule à chaque fois.
    var obj:Object = newObject();                 // On céer l'objet

    for (var j:Number = 0; j<T1[i].length; j++)   // Ici on parcours le tableau nouvellement créé pour définir l'Objet
    {
        var T3:Array = T1[i][j].split (":");        // On coupe au niveau du ":" pour avoir le nom de la propriété et sa valeur.
      
        obj[T3[0]] = T3[1];                              // La propriété de nom "T3[0]" prendra la valeur "T3[1]"
    }

    Resultat.push (obj);         // L'objet est créé avec toutes ses propriété, on l'ajoute et on passe au suivant.
}

Je n'ai pas testé, mais je pense que ça marche, ou sinon c'est une petite erreur. J'ai un petit doute sur la ligne 14 quand même, mais normalement, ça devrait macher.

Distorstase

Re : faire passer des object ou array de php à flash le 31/01/2007 12:56:29

choy
Franchement merci pour ta réponse, il y a apparament un truc qui cloche au niveau de la création des objets. Je fait des test sans succes pour le moment mais j'y vois déja beaucoup plus clair !

Re : faire passer des object ou array de php à flash le 31/01/2007 16:20:59

Slagt
Membre Club
Réponse acceptée !
Il y a une erreur de frappe. J'ai pas mis les espaces entre new et Array, et entre new et Object.

Sinon tout fonctionne.

Pour afficher le contenu du tableau, tu peux rajouter ceci :


trace ("Resultat : ");
trace ("==========");
for (var i:Number = 0; i<Resultat.length; i++)
{
    if
(i != 0)
        trace ("");
   
    trace (": Index " + i + " : ");
    for (var nom:Stringin Resultat[i])
    {
        trace (":: " + nom + " : " + Resultat[i][nom]);
    }
}
trace ("==========");


Fenêtre de sortie :

Resultat :
==========
: Index 0 :
:: age : 22
:: pseudo : choy

: Index 1 :
:: age : 34
:: pseudo : machin
==========


:)

Distorstase

Re : faire passer des object ou array de php à flash le 01/02/2007 05:31:50

choy
Yep j'ai vu ça dans l'aprem mais trop de souci de connexion pour venir poster ici :) en tout cas un grand merci à toi ! j'ai super bien avancé aujourd'hui !


Classé sous : php, flash, age, pseudo, passer

Participer à cet échange

Pub



Appels d'offres

Recherche developpeur ...
Budget : 700€
SITE MARCHAND LOCATION...
Budget : 3 000€
SITE MARCHAND POUR HOTEL
Budget : 4 000€

CalendriCode

Août 2008
LMMJVSD
    123
45678910
11121314151617
18192021222324
25262728293031

Téléchargements

Logiciels à télécharger sur le même thème :

Boutique

Boutique de goodies CodeS-SourceS