Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 1.0/2.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 08.05.2010, 15:37
greshnig вне форума Посмотреть профиль Отправить личное сообщение для greshnig Найти все сообщения от greshnig
  № 1  
Ответить с цитированием
greshnig

Регистрация: May 2010
Сообщений: 3
По умолчанию БД->Flash

Доброе время суток!
Все вроде не очень сложно, но почему то не работает
Нужно сделать чтобы выводились картинки во флеш из Базы данных.Что сделал:
-создал бд->таблицу->колонку с 3мя параметрами, id, name, link(соответственно в ней и хранится ссылка на картинку типа D:\Image\1.jpg) ссылка пока жесткая, сразу на картинку

-Есть пхп скрипт следующего содержания


PHP код:
<?php
   $link 
mysql_connect('localhost','admin','');
   
mysql_select_db('test');

   
// загрузить все ссылки из таблицы
   
$result mysql_query('SELECT link FROM Image ORDER BY Name');
   for (
$i0$i mysql_num_rows($result); $i++)
   {
       
$newUrl mysql_fetch_array($resultMYSQL_NUM);
       echo 
"img$i=".$newUrl[0];
   }
   
mysql_close($link);
?>
Он возвращает img0=D:\image\1.jpg

-Затем во флеш чтобы загрузить картинку использую


Код:
function loadImg():Void
{
    var loadObj:LoadVars = new LoadVars();   // Создаем объект для загрузки данных
    loadObj.load('index.php');     // Загружаем данные
    //trace ('loadObj[' + url + '] = ' + loadObj[url]);
    loadObj.onLoad = function(success){
    for (var url:String in loadObj) //Обработка всех параметров в объекте loadObj
    {
         if (url !== 'load')     // Если параметр не load( функция загрузки данных )
         {
              this.createEmptyMovieClip (url, this.getNextHighestDepth());       // создаем в корне пустой клип
              mcl.loadClip(loadObj[newUrl], url);     //  Грузим в него картинку.  
            }
    }
}
};
Но увы и ах, переменные не беруться ни в какую, пробовал трассировать, но пишет что переменные undefined, возможно что функция выполнилась раньше чем ответ от пхп пришел.
Так же пробовал - {loadVariables("index.php", "_root", "POST");
Но тут тоже самое...
Может кто нибудь знает как надо правильно написать чтобы успевал ответ от пхп приходить, или еще как нибудь работал с БД , помогите очень нужно!


Последний раз редактировалось greshnig; 08.05.2010 в 18:34.
Старый 08.05.2010, 17:22
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 2  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Сильно в ваш код не вникал, но где у вас обработчики событий, onData или onLoad?
Как у вас отслеживается момент загрузки данных?
Вообще, какая-то странная логика.
Посмотрите в хелпе примеры на sendAndLoad, например.

Старый 08.05.2010, 18:35
greshnig вне форума Посмотреть профиль Отправить личное сообщение для greshnig Найти все сообщения от greshnig
  № 3  
Ответить с цитированием
greshnig

Регистрация: May 2010
Сообщений: 3
Цитата:
Сообщение от mooncar Посмотреть сообщение
Сильно в ваш код не вникал, но где у вас обработчики событий, onData или onLoad?
Как у вас отслеживается момент загрузки данных?
Вообще, какая-то странная логика.
Посмотрите в хелпе примеры на sendAndLoad, например.
whoops, сори я даж незаметил что она пропала, она была(loadObj.onLoad = function(success){}) , поправил код, есть идеи?

Старый 08.05.2010, 18:46
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 4  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
Все надо переделывать.
Навсидку:
1) Не пишите функции в функциях. Оставьте внутри основной функции только саму загрузку, а все обработчики, объявление самой LoadVars вытащите наружу.
2) this.createEmptyMovieClip у вас ссылается на loadObj, а не на "корень". То есть вы пытаетесь при такой записи создать пустой новый мувик внутри экземпляра LoadVars, а не на сцене.


Последний раз редактировалось mooncar; 08.05.2010 в 18:53.
Старый 08.05.2010, 23:33
greshnig вне форума Посмотреть профиль Отправить личное сообщение для greshnig Найти все сообщения от greshnig
  № 5  
Ответить с цитированием
greshnig

Регистрация: May 2010
Сообщений: 3
Что то странное оказывается происходит с передачей во флеш, то ли флеш не может загрузить .php файл, то ли переменные как то не так передает. На данный момент сделал :
PHP код:
<?php
    $link 
mysql_connect('localhost','admin','');
    
mysql_select_db('flash');
   
$query "SELECT user_name FROM tablica";
   
$result mysql_query($query) or die("Query failed : " mysql_error());
   
$qw mysql_fetch_assoc($result);
print_r ("test=".$qw[user_name].);
   
mysql_free_result($result);
   
mysql_close($link);
?>
Код AS1/AS2:
on(press){
  loadVariables("name.php", "", "POST");
  trace ($qw);
}
Все вроде упростил, но так же как писал пишет - undefined.
Просто для уточнения, пхп скрипт файл должен храниться в корне? + запущенный денвер для исполнения скрипта да?

Старый 08.05.2010, 23:35
mooncar вне форума Посмотреть профиль Отправить личное сообщение для mooncar Найти все сообщения от mooncar
  № 6  
Ответить с цитированием
mooncar
Модрон-ветеринар
 
Аватар для mooncar

администратор
Регистрация: May 2009
Адрес: г.Казань
Сообщений: 7,357
Отправить сообщение для mooncar с помощью ICQ Отправить сообщение для mooncar с помощью Skype™
loadVariables не используйте никогда, все же правильно начали делать - через LoadVars, иначе будет асинхронность - получение данных не сможете отследить.
Посмотрите хелп по этому классу, используйте sendAndLoad !

Создать новую тему Ответ Часовой пояс GMT +4, время: 23:22.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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