Envoie d'un tableau de PHP à FLash [Résolu]

bikboo 10 Messages postés mercredi 16 mai 2007Date d'inscription 7 octobre 2008 Dernière intervention - 16 mai 2007 à 18:09 - Dernière réponse : bikboo 10 Messages postés mercredi 16 mai 2007Date d'inscription 7 octobre 2008 Dernière intervention
- 21 mai 2007 à 14:53
Bonjour à tous,

je m'arrache un peu les cheveux avec un truc que j'arrive pas faire et j'ai beau chercher et essayer les multiples exemples:

j'utilise un fichier php qui pioche env. 20 donnée dans une base de donnée et l'envoie vers flash, pas de soucis
réception des données sous flash dans un text field, pas de soucis.
MAIS
ce que je voudrais c'est ce que ce tableau de valeur soit receptionner dans une variable tableau sous flash et non un text field (qui me sert a rien pour la suite)

en gros j'aimerai que la variable tableau_php[1,2,3,....]
se retrouve au même format mais sous flash tableau_flash[1,2,3...]

ainsi je pourrais réutiliser les valeurs du talbeau_flash pour faire des comparaison ou pour les modifier...

tous les exemples flash-php et une envoie de valeur PHP vers un text field flash mais non dans une variable flash exploitable :(

merci pour votre aide
Afficher la suite 

12 réponses

Répondre au sujet
pardal_n 29 Messages postés mercredi 2 juin 2004Date d'inscription 22 mai 2007 Dernière intervention - 19 mai 2007 à 20:46
+3
Utile
Autant pour moi c'est tres bizarre mais en effet les tab[x] ne sont pas chargé mais pour me faire pardonné voila la solution ^^

PHP :
<?


$val = "42";
$string = "";
for ($i = 0; $i < 20; $i ++)
{
 
 $string .= "&tab$i=$val";
 $val ++;
}




die ("&tabsize=$i".$string);


?>

Flash :
alors voila l'url ou marche le résultat :
http://88.191.48.160/tab.html
le fla :
http://88.191.48.160/tab.fla

j'ai restructurer pour recup le tableau et le mettre dans un tableau flash avec ce code la :
if (tabsize > 0 && my_array[1] == undefined)
{
 for (i = 0; i <= tabsize; i++)
  my_array.push(_root["tab"+i]);
}

donc dans ton cas fait pareil load, remplis le tableau, active ton bouton une fois le tableau remplis et fait ce que tu veux avec ....
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de pardal_n
pardal_n 29 Messages postés mercredi 2 juin 2004Date d'inscription 22 mai 2007 Dernière intervention - 18 mai 2007 à 18:56
0
Utile
Désolé je réponds mais je suis encore débutant en flash ^^ si j'écris des conneries corrigez moi ^^

Pour commencer une petite correction ton php n'envoit pas dans un valeur directement a un text field mais il retourne une valeur dont tu as donné meme nom a ton textfield, c'est pour cela que l'affichage change.

un petit exemple pârle mieux que bcp d'explication :

dans ton php :
$val = "42";
$string = "";
for ($i = 0; $i < 20; $i ++)

 $string .= "&tab[$i]=$val";
 $val ++;
}
die ($string);

Dans ton flash une fois que le "loadVariablesNum" est fini tu as un tableau "tab" utilisable.

Voila
Commenter la réponse de pardal_n
bikboo 10 Messages postés mercredi 16 mai 2007Date d'inscription 7 octobre 2008 Dernière intervention - 19 mai 2007 à 00:22
0
Utile
Salut, merci pour ta réponse, cependant cela ne fonctionne pas, voici mon code flash:

on (release){
    loadVariablesNum("load.php", 0, "POST");
    txt1.text = tab[0];
    if (tab[1] == 43){
            txt2.text = "ca marrche";
    }
}
J'ai repris ton code PHP tel quel (copier /coller), dès que j'appuie sur mon bouton, je vérifie si mon tableau de donnée est chargé en voulant affiché quelque chose, soit:
je met le contenu de la cellule 0 dans txt1, il me retourne "undefined"

et voic l'affichage de mon load.php:

&tab[0]=42&tab[1]=43&tab[2]=44&tab[3]=45......etc.....

bref, je cherche encore :(

Merci pour ta réponse
Commenter la réponse de bikboo
pardal_n 29 Messages postés mercredi 2 juin 2004Date d'inscription 22 mai 2007 Dernière intervention - 19 mai 2007 à 00:40
0
Utile
le loadvar est bcp moins rapide que juste tes 3 lignes de dessous il te faut une attente avant de recup tes variables (2 secondes)

en gros je mettrais ca comme ca :
dans la frame qui est joué en continue :

txt1.text = tab[0];
if (tab[1] == 43){
         txt2.text = "ca marrche";
}
on (release){
    loadVariablesNum("load.php", 0, "POST");
}
Commenter la réponse de pardal_n
bikboo 10 Messages postés mercredi 16 mai 2007Date d'inscription 7 octobre 2008 Dernière intervention - 19 mai 2007 à 11:51
0
Utile
Ca ne fonctionne toujours pas :(
Commenter la réponse de bikboo
pardal_n 29 Messages postés mercredi 2 juin 2004Date d'inscription 22 mai 2007 Dernière intervention - 19 mai 2007 à 15:14
0
Utile
alors voila l'url ou marche le résultat :
http://88.191.16.169/tab.html

le fla :
http://88.191.16.169/tab.fla

le Code de unti.php :

<?


$val = "42";
$string = "";
for ($i = 0; $i < 20; $i ++)
{
 
 $string .= "&tab[$i]=$val";
 $val ++;
}




die ($string);


?>

la je sias plus quoi dire sauf que peut etre que tu acede a une ressources externe et que les limitations d'acces a des domaines différent (depuis flash 8) bloque mais tu devrais avoir un message d'erreur.
Commenter la réponse de pardal_n
bikboo 10 Messages postés mercredi 16 mai 2007Date d'inscription 7 octobre 2008 Dernière intervention - 19 mai 2007 à 18:02
0
Utile
Tu va me détester lol..

oki le code fonctionne niquel, il affiche les valeurs! :D

Mais ce que je veux moi c'est pouvoir utiliser la variable var[3] (par ex) sans passé par un textfield, je veux pas les afficher je veux les garder un mémoire dans un tableau de valeur dans flash... tu vois le truc pour faire des teste du genre:

si var[0] = 34 alors je lance le cilp d'animation 1
si var[0] = 12 alors je lance le clip d'animation 2

sur ton anim je fait un bouton avec ton trait bleu sur lequel je met ce code:

on (release){
    temp = tab[3];
    txt = temp;
}

txt me retourne le contenu de tab[3], soit Undefined... (pétage de câble)
avec un contenu Undefinde je ne peux pas faire mes testes cf plus haut..

tu vois le truc? je suis claire ? :s

En tout cas merci bcp pour ton aide
Commenter la réponse de bikboo
pardal_n 29 Messages postés mercredi 2 juin 2004Date d'inscription 22 mai 2007 Dernière intervention - 19 mai 2007 à 20:50
0
Utile
depuis j'ai legerement modifier le script php afin que $val soit un rand(0,100) mais le fla bouge pas donc si tab[1] > 42 ca affiche "> 42" sinon ca affiche la valeur, tant que le tableau est pas chargé ca marque undefined (c'est mon script qui controle cet affichage aussi)
Commenter la réponse de pardal_n
pardal_n 29 Messages postés mercredi 2 juin 2004Date d'inscription 22 mai 2007 Dernière intervention - 19 mai 2007 à 20:52
0
Utile
le code PHP :
<?


//$val = "42";
$string = "";
for ($i = 0; $i < 20; $i ++)
{
 
 $val = rand(0,100);
 $string .= "&tab$i=$val";
 
}




die ("&tabsize=$i".$string);


?>

c'est moi ou il ya pas d'option "edit" des anciens messages ?
Commenter la réponse de pardal_n
bikboo 10 Messages postés mercredi 16 mai 2007Date d'inscription 7 octobre 2008 Dernière intervention - 20 mai 2007 à 18:55
0
Utile
Okayy, trop bien ça marche ^^
Heu ben je vais pouvoir m'amuser,

merci d'avoir pris le temps, pour un débutant tu en sais des trucs ;)..
je me demande simplement comment ca se fait que flash n'aime pas le tableau de valeur sans un créer un avec push
bizare mais bon merci bien

je risque de revenir qui sais :D
Commenter la réponse de bikboo
pardal_n 29 Messages postés mercredi 2 juin 2004Date d'inscription 22 mai 2007 Dernière intervention - 20 mai 2007 à 20:01
0
Utile
dr ^^

ca ma permis a moi aussi de voir comment ca marche, j'en aurais peut etre besoin un jour aussi ^^.
Commenter la réponse de pardal_n
bikboo 10 Messages postés mercredi 16 mai 2007Date d'inscription 7 octobre 2008 Dernière intervention - 21 mai 2007 à 14:53
0
Utile
Salut ^^

voilà merci bien pour le truc de l'envoi d'un tableau de PHP à flash,

j'aurai encore besoins d'un petit coup de main.

Mon animation qui demande ces variables PHP est l'animation teste1.swf

moi je charge l'animation teste1.swf dans index.swf
évidemment dès que je fais cela je n'ai plus les valeurs de mon tableau, comment puis-je faire?

j'ai cherché a mettre le code du genre
txt = _root.mon_clip_teste1.tab[1];
mais rien n'y fait :( mon_clip_teste1 est le clip d'animation dans index.swf qui charge le clip teste1.swf

Merci d'avance
Commenter la réponse de bikboo

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.