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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 08.07.2009, 01:19
Negative Girl вне форума Посмотреть профиль Отправить личное сообщение для Negative Girl Найти все сообщения от Negative Girl
  № 1  
Ответить с цитированием
Negative Girl
 
Аватар для Negative Girl

Регистрация: Jul 2009
Сообщений: 5
По умолчанию Не могу установить коннект с MySQL

В общем задача у меня такая - вывести во флэш ролик данные из php файла, который берет их в свою очередь из БД

шаг 1 - создала БД, она у меня состоит из одной таблички с двумя параметрами
шаг 2 - создаю php файл, в котором через XML прописываю коннект с БД, выглядит содержимое php файла следующим образом:

PHP код:
<?php 

$link 
mysql_connect("localhost","fl_user","12345");
mysql_select_db("fl");

$query 'SELECT * FROM products';
$results mysql_query($query);

echo 
"<?xml version=\"1.0\"?>\n";
echo 
"<products>\n";

while (
$line mysql_fetch_assoc($results)) {
    echo 
"<item>" $line["product"] . "</item>\n";
}
echo 
"</products>\n";
mysql_close($link);
?>
шаг 3 - создаю файл as, где прописываю вывод данных во флэш ролик через класс:
Код AS3:
package {
   import flash.display.Sprite;
   import flash.events.Event;
   import flash.net.URLLoader;
   import flash.net.URLRequest;
   import flash.text.TextField;
   import flash.text.TextFieldAutoSize;
   import flash.xml.*;
   import flash.events.IOErrorEvent;
 
   public class URLLoader_loadExample extends Sprite {
       private var xmlTextField:TextField = new TextField();
       private var externalXML:XML;    
       private var loader:URLLoader;
 
       public function URLLoader_loadExample() {
           var request:URLRequest = new URLRequest("http://localhost/flashsimple");
 
           loader = new URLLoader();
 
           try {
               loader.load(request);
           }
           catch (error:SecurityError)
           {
               trace("A SecurityError has occurred.");
           }
 
            loader.addEventListener(IOErrorEvent.IO_ERROR, errorHandler);
           loader.addEventListener(Event.COMPLETE, loaderCompleteHandler);
 
           xmlTextField.x = 10;
           xmlTextField.y = 10;
           xmlTextField.background = true;
           xmlTextField.autoSize = TextFieldAutoSize.LEFT;
 
           addChild(xmlTextField);
       }
 
       private function loaderCompleteHandler(event:Event):void {
 
               try {
                   externalXML = new XML(loader.data);
                   readNodes(externalXML);    
               } catch (e:TypeError) {
                   trace("Could not parse the XML file.");
               }
       }
 
       private function readNodes(node:XML):void {
 
               for each (var element:XML in node.elements()) {
                   xmlTextField.appendText(element.attributes()[0] + "\n");
 
                   readNodes(element);
               }    
       }
 
       private function errorHandler(e:IOErrorEvent):void {
           xmlTextField.text = "Had problem loading the XML File.";
       }
   }
}
шаг 4 - создаю флэш-файл ActionScript 3.0, качестве класса указываю мой as файл

результат:

[IMG]http://i071.***********/0907/36/c01b6f879f9e.jpg[/IMG]

выводятся вместо данных два слова undefined

но что самое интересное, мне кажется коннект с БД происходит, ведь в ней у меня содержится как раз-таки 2 слова...только вместо них почему-то выводится undefined

помогите пожалуйста решить проблему и установить коннект с БД всё-таки

п.с. прикрепляю исходники (в архиве лежат 1) .as файл 2) .fla файл 3) .php файл(который лежит у меня на локальном сервере))
Вложения
Тип файла: rar newfolder.rar (5.8 Кб, 65 просмотров)

Старый 08.07.2009, 02:19
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 2  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Обратите внимание на эту строчку:
Код AS3:
xmlTextField.appendText(element.attributes()[0] + "\n");
В вашем xml нету атрибутов.
Т.е.
Код AS3:
xmlTextField.appendText(element + "\n");
Цитата:
помогите пожалуйста решить проблему и установить коннект с БД всё-таки
С коннектом с БД все в порядке, раз возвращается xml.


Последний раз редактировалось udaaff; 08.07.2009 в 02:22.
Старый 08.07.2009, 02:42
Negative Girl вне форума Посмотреть профиль Отправить личное сообщение для Negative Girl Найти все сообщения от Negative Girl
  № 3  
Ответить с цитированием
Negative Girl
 
Аватар для Negative Girl

Регистрация: Jul 2009
Сообщений: 5
Цитата:
Сообщение от udaaff Посмотреть сообщение
Обратите внимание на эту строчку:
Код AS3:
xmlTextField.appendText(element.attributes()[0] + "\n");
пробовала вместо 0 ставить 1 - то же самое((

Старый 08.07.2009, 03:07
udaaff вне форума Посмотреть профиль Отправить личное сообщение для udaaff Найти все сообщения от udaaff
  № 4  
Ответить с цитированием
udaaff
...

модератор форума
Регистрация: Sep 2006
Адрес: Minsk
Сообщений: 4,286
Я же исправил:
Код AS3:
xmlTextField.appendText(element + "\n");

Старый 08.07.2009, 04:01
Negative Girl вне форума Посмотреть профиль Отправить личное сообщение для Negative Girl Найти все сообщения от Negative Girl
  № 5  
Ответить с цитированием
Negative Girl
 
Аватар для Negative Girl

Регистрация: Jul 2009
Сообщений: 5
udaaff вы волшебник! спасибо вам большое! всё заработало!)))

Добавлено через 8 часов 37 минут
А теперь родился вопрос на засыпку)
данные теперь у меня выводятся, но они пока представляют собой набор слов...хотелось бы вывести во флэш из БД отформатированный с помощью CSS текст
как это можно сделать? я так понимаю какие-то изменения должны произойти в моём php файле? если да, то какого плана? а то, честно признаться, я не очень сильна в XML(((

Старый 08.07.2009, 17:23
TimeToKill вне форума Посмотреть профиль Отправить личное сообщение для TimeToKill Найти все сообщения от TimeToKill
  № 6  
Ответить с цитированием
TimeToKill

Регистрация: Jul 2007
Сообщений: 5
В AS3 не силен, поэтому могу только алгоритм описать, как это работало в AS2.
1. объявляете переменную TextField.StyleSheet()
2. с помощью метода load('путь до css') прицепляете CSS
3. после загрузки, присваиваете вашему тексту output.styleSheet объявленную переменную с загруженным стилем и сам текст

Старый 08.07.2009, 18:32
Negative Girl вне форума Посмотреть профиль Отправить личное сообщение для Negative Girl Найти все сообщения от Negative Girl
  № 7  
Ответить с цитированием
Negative Girl
 
Аватар для Negative Girl

Регистрация: Jul 2009
Сообщений: 5
Цитата:
Сообщение от TimeToKill Посмотреть сообщение
В AS3 не силен, поэтому могу только алгоритм описать, как это работало в AS2.
1. объявляете переменную TextField.StyleSheet()
2. с помощью метода load('путь до css') прицепляете CSS
3. после загрузки, присваиваете вашему тексту output.styleSheet объявленную переменную с загруженным стилем и сам текст
но в итоге ведь получится что стиль будет применяться для всего текста целиком один и тот же? правильно я понимаю?

Старый 08.07.2009, 18:50
Felicast вне форума Посмотреть профиль Отправить личное сообщение для Felicast Найти все сообщения от Felicast
  № 8  
Ответить с цитированием
Felicast
 
Аватар для Felicast

Регистрация: Feb 2008
Адрес: Череповец
Сообщений: 623
Отправить сообщение для Felicast с помощью ICQ
здесь стили работают как в html, только в очень урезаном виде

не совсем понял вопрос: вам нужно взять данные из бд, отформатировать их с помощью php, отдать флешу, чтобы он это все отобразил?
я не совсем понимаю на каком из этапов у вас загвоздка
__________________
я могу стать всем, если только захочу

Старый 08.07.2009, 19:16
Negative Girl вне форума Посмотреть профиль Отправить личное сообщение для Negative Girl Найти все сообщения от Negative Girl
  № 9  
Ответить с цитированием
Negative Girl
 
Аватар для Negative Girl

Регистрация: Jul 2009
Сообщений: 5
Цитата:
Сообщение от Felicast Посмотреть сообщение
здесь стили работают как в html, только в очень урезаном виде

не совсем понял вопрос: вам нужно взять данные из бд, отформатировать их с помощью php, отдать флешу, чтобы он это все отобразил?
я не совсем понимаю на каком из этапов у вас загвоздка
на самом последнем)
флэшу ведь отдаётся XML, а он уже по своему определению не поддаётся форматированию

в архиве, который я прикрепила в первом посте есть все файлы для работы...надо только таблицу в БД создать чтобы посмотреть что у меня выводится....
ну и естествеенно учесть совет udaaff, чтобы всё корректно отображалось

Старый 08.07.2009, 19:28
Felicast вне форума Посмотреть профиль Отправить личное сообщение для Felicast Найти все сообщения от Felicast
  № 10  
Ответить с цитированием
Felicast
 
Аватар для Felicast

Регистрация: Feb 2008
Адрес: Череповец
Сообщений: 623
Отправить сообщение для Felicast с помощью ICQ
тогда я не понимаю причем здесь css?

вы или форматируйте все на стороне сервера (в пхп) и отдавайте флешу в виде html (xmlTextField.htmlText = пришедшие_данные)
или отдавайте так как есть, и уже во флеше ручками каждый нод оформляйте как вам нужно

Цитата:
флэшу ведь отдаётся XML, а он уже по своему определению не поддаётся форматированию
что значит не поддается форматированию? xml - форма представления данных, а уж как ее отобразить ваше дело
__________________
я могу стать всем, если только захочу

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

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

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


 


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


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