Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   массив из php в swf (http://www.flasher.ru/forum/showthread.php?t=69125)

bilis 14.09.2005 15:46

массив из php в swf
 
Добрый .... всем ! Сутки ковыряюсь в поиске и не могу решить проблему.
PHP скрипт создает массив:

Array ( [0] => Array ( [date] => 1.1.2002 [title] => title 1 [text] => news text 1 ) [1] => Array ( [date] => 5.1.2002 [title] => title 2 [text] => news text 2 ) [2] => Array ( [date] => 10.1.2002 [title] => title 3 [text] => news text 3 ) [3] => Array ( [date] => 10.1.2005 [title] => title 3 [text] => news text 3 ) )

Как его передать в swf что бы получить переменные:

l[0].date
l[0].title
l[0].text
.....
l[n].date
l[n].title
l[n].text

и пользоваться ими.

Я плохо пока знаю ActionScript но буду признателен если кто напишет подробно. или на mail siropyatov@mail.ru

Зарание спасибо за ответ!

_TN 14.09.2005 17:24

Я тоже не очень хорошо знаю AS, но делал таким образом.. PHP генерирует файл с переменными ~ следующего содержания:

name=pupkin&message=blablabla+lublu+ludey

тут получается 2 переменных, потом их во флеше считываеш спомощью функции loadVariables (почитай в хелпе).
Необходимо чтобы в том клипе котором ты считываеш переменные, были к примеру поля с одноименными переменными. Например создаеш 2 динамических поля в одном в поле Var пишеш name, в другом message.

Dima K 14.09.2005 17:28

У меня была похожая проблема, но только нужно было передать массив данных из Flash в PHP.
Сейчас попробовал сделать, что тебе нужно.
В PHP:
//Файл у меня называется for.php
//$kol - это количество элементов массива
//$res[$k] - будущий элемент массива во Flash
$a[0]=1;
$a[1]=12342;
$a[2]=1343;
for ($k=0;$k<3;$k++){
echo "&res[$k]=$a[$k]";
}
echo"&kol=$k";

Во Flash:
a = [];
l = new LoadVars();
l.onLoad = function() {
t = l.kol;
for (k=0; k<t; k++) {
a[k] = l["res["+k+"]"];
}
trace(a[0]);
trace(a[1]);
trace(a[2]);
};
l.sendAndLoad("http://localhost/for.php", l);

bilis 15.09.2005 18:26

Во Flash:
a = []; // Массив
l = new LoadVars();
l.onLoad = function() {
t = l.kol; // Количество переменных
for (k=0; k<t; k++) {
a[k] = l["res["+k+"]"];
}
trace(a[0]);
trace(a[1]);
trace(a[2]);
};
l.sendAndLoad("http://localhost/for.php", l);

= Массив получил. Можно trace(a[0])...trace(a[3])
заменить так:

for (k=0;k<t;k++)
{
trace(a[k])
};

= Просто я не всегда знаю сколько данных получу.
Еще вопрос!
1.Если строка из php получается в виде a,b,c,... и т.п. сколько не известно.
Я ее передаю как переменную, как ее можно в массив загнать? Вроде было где то в форуме про сепораторы (,) написанно?
Я искал но что то не понял.


Часовой пояс GMT +4, время: 01:10.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.