Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Не могу установить коннект с MySQL (http://www.flasher.ru/forum/showthread.php?t=127207)

Negative Girl 08.07.2009 01:19

Не могу установить коннект с MySQL
 
Вложений: 1
В общем задача у меня такая - вывести во флэш ролик данные из 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 файл(который лежит у меня на локальном сервере))

udaaff 08.07.2009 02:19

Обратите внимание на эту строчку:
Код AS3:

xmlTextField.appendText(element.attributes()[0] + "\n");

В вашем xml нету атрибутов.
Т.е.
Код AS3:

xmlTextField.appendText(element + "\n");

Цитата:

помогите пожалуйста решить проблему и установить коннект с БД всё-таки
С коннектом с БД все в порядке, раз возвращается xml.

Negative Girl 08.07.2009 02:42

Цитата:

Сообщение от udaaff (Сообщение 833848)
Обратите внимание на эту строчку:
Код AS3:

xmlTextField.appendText(element.attributes()[0] + "\n");


пробовала вместо 0 ставить 1 - то же самое((

udaaff 08.07.2009 03:07

Я же исправил:
Код AS3:

xmlTextField.appendText(element + "\n");


Negative Girl 08.07.2009 04:01

udaaff вы волшебник! спасибо вам большое! всё заработало!)))

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

TimeToKill 08.07.2009 17:23

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

Negative Girl 08.07.2009 18:32

Цитата:

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

но в итоге ведь получится что стиль будет применяться для всего текста целиком один и тот же? правильно я понимаю?

Felicast 08.07.2009 18:50

здесь стили работают как в html, только в очень урезаном виде

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

Negative Girl 08.07.2009 19:16

Цитата:

Сообщение от Felicast (Сообщение 834033)
здесь стили работают как в html, только в очень урезаном виде

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

на самом последнем)
флэшу ведь отдаётся XML, а он уже по своему определению не поддаётся форматированию

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

Felicast 08.07.2009 19:28

тогда я не понимаю причем здесь css?

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

Цитата:

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


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

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