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

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

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

Регистрация: Mar 2012
Сообщений: 61
По умолчанию Как связать As3 c MySQL через PHP.

Как отобразить таблицу из БД MySQL во флэш? если понадобятся компоненты List, DataGrid

PHP код:
<?php
//////Connect to MySQL//////
mysql_connect("localhost""root""") or die (mysql_error()); //Открывает соединение с сервером MySQL
mysql_select_db("mybd_guestbook") or die (mysql_error()); //Выбирает базу данных MySQL
mysql_query("SET NAMES 'utf8'"); //Посылает запрос MySQL


////////////////////////////// Для компонента TextArea

if ($_POST['comType']=="requestEntries")
{
    
$body ="";
    
$sql mysql_query("SELECT * FROM table_guestbook ORDER BY post_date DESC");
    while (
$row mysql_fetch_array($sql))
    {
        
$id $row["id"];
        
$name $row["name"];
        
$post_date $row["post_date"];
        
$comment $row["comment"];
        
$location $row["location"];
        
$comment stripslashes($comment);
/////////////////Decode HTML entries if storing comments that preserve line breaks and such //$n_post_body = html_entry_decode($n_post_body);//Uncomment to use    
        
$post_date strftime("%b %d, %y"strtotime ($post_date));
        
        
$body .='<b><font face="Arial" size="12" color = "#57114D">' .  $name  '</font> | <font face="Arial" size="12" color = "#330066">' .$location  .'</font> | <font face="Arial" size="12" color = "#9B9B9B">' .  $post_date  .'</font><br/><font face="Arial" size="15">'.$comment.'</font><br/><br/>';
    }
    
mysql_free_result($sql);
    
mysql_close();    
    echo 
"returnBody=$body";
    exit();
}
//////////////////// Для компонента List 

    
while ($row2 mysql_fetch_array($result))
    {
        
$id $row2["id"];
        
$name $row2["name"];
    }
    
mysql_free_result($result);
    
mysql_close();
        
    echo 
"Id_MySQL=$id";
    echo 
"Name_MySQL=$name";
    exit();
?>
AS3 1 слой для компонента TextArea (GostBook):

Код AS3:
import flash.net.URLVariables;
import flash.net.URLRequest;
import flash.net.URLLoader;
 
var variables_re: URLVariables = new URLVariables();
 
var Send_re: URLRequest = new URLRequest("RLTable.php");
Send_re.method = URLRequestMethod.POST;
Send_re.data = variables_re;
 
var Loader_re: URLLoader = new URLLoader;
Loader_re.dataFormat = URLLoaderDataFormat.VARIABLES;
Loader_re.addEventListener(Event.COMPLETE, completeHandler_re);
 
function completeHandler_re(event:Event): void
{
	if (event.target.data.returnBody == "")
	{
		gbOutput_txt.text = "No data coming through";
	} 
	else
	{
		gbOutput_txt.condenseWhite = true;
		gbOutput_txt.htmlText = "" + event.target.data.returnBody;
	}
}
 
variables_re.comType = "requestEntries";
Loader_re.load(Send_re);

AS3 2 слой для компонента DataGrid:

Код AS3:
import fl.controls.DataGrid;
 
/*
var myTextFormat:TextFormat = new TextFormat();
myTextFormat.font = "Comic Sans MS";
myTextFormat.color = 0x666666;
myTextFormat.size = 14;
*/
 
var TId: String;
var TName: String;
 
TTd.htmlText = event.target.data.Id_MySQL
TTd.condenseWhite = true;
 
TName.htmlText = event.target.data.Name_MySQL
TName.condenseWhite = true;
 
var item:Object = { TId, TName };
 
 
var datagrid:DataGrid = new DataGrid;
datagrid.move(50, 100);
datagrid.width = 480;
datagrid.height = 130;
datagrid.rowHeight = 35;
datagrid.columns = ["Id", "Name"];
datagrid.columns[0].width = 120; 
datagrid.columns[1].width = 70;
datagrid.resizableColumns = true; 
//datagrid.setRendererStyle("textFormat", myTextFormat);
datagrid.addItem(item);
 
 
addChild(datagrid);
/*
datagrid.addEventListener(Event.CHANGE, gridItemClick);
 
function gridItemClick (event:Event):void {
 
	task_txt.text = "Id:" + event.target.selectedItem.Id + "\n";
	task_txt.text = "Name:" + event.target.selectedItem.Name + "\n");
 
 
}


AS3 3 слой для компонента List:

Код AS3:
import flash.net.URLRequest;
import flash.net.URLLoader;
 
stop();
 
var myFormat:TextFormat = new TextFormat();
myFormat.color = "0x00026D";
 
list.setRendererStyle("textFormat", myFormat);
 
//////////////////////////////////////////////////////////////////////////////////////////////////
 
var i:uint;
var TName: String;
TName.htmlText = event.target.data.Name_MySQL;
TName.condenseWhite = true;
 
var myPHP:URLRequest = new URLRequest("RLTable.php");
var myLoader: URLLoader = new URLLoader(myPHP);
myLoader.addEventListener("complete", phpLoaded);
 
 
function phpLoaded(event:Event):void 
{
 
			 i++;
			 list.addItem( { label: i+". " + TName, songNum: i } );
 
		 var myArray = new Array (0,0);
         list.selectedIndices = myArray; 
 
 
}


Последний раз редактировалось mariamarfi; 20.08.2014 в 16:53.
Старый 28.03.2014, 11:19
PainKiller вне форума Посмотреть профиль Отправить личное сообщение для PainKiller Найти все сообщения от PainKiller
  № 2  
Ответить с цитированием
PainKiller
 
Аватар для PainKiller

блогер
Регистрация: Sep 2011
Адрес: Москва
Сообщений: 533
Записей в блоге: 4
Я честно говоря не понял с чем именно у вас проблема, советую разбить задачу на 3 этапа:
1. Напишите сервер, убедитесь что сервер возвращает то, что вам нужно, запрашивайте его из браузера по url - вы должны увидеть нужные вам данные (неважно текст это, JSON или XML). Ваш скрипт я не тестил, но по беглому взгляду создалось впечатление что он не рабочий, в смысле не возвращает нужные данные.
2. Убедитесь что вы правильно принимаете данные во флешке (трейсите запрашиваемый ответ от сервера). Пока запроса на сервер в вашем коде я тоже не увидел (только для TextArea, и то не уверен что по этому адресу вы что то получаете).
3. Вот уже после этого попробуйте запихнуть эти данные в визуальный компонент.

P.S. и да не пишите в кадрах. И если по какому то этапу что то не получится отписывайтесь, я лично делать за вас всю задачу целиком точно не буду, могу только подсказать если что.

Старый 28.03.2014, 12:59
Marlin вне форума Посмотреть профиль Отправить личное сообщение для Marlin Найти все сообщения от Marlin
  № 3  
Ответить с цитированием
Marlin

Регистрация: Feb 2014
Сообщений: 57
Код AS3:
URLRequest("RLTable.php");
используйте абсолютный путь, и для начала нужно или запустить сервак локально, или иметь таковой в интернете, если таковой есть, то бейте задачу на максимальное количество частей, и решайте поочереди. Трейсите на каждом этапе, если где-то затуп - пишите.

Старый 28.03.2014, 21:17
Babylon вне форума Посмотреть профиль Отправить личное сообщение для Babylon Посетить домашнюю страницу Babylon Найти все сообщения от Babylon
  № 4  
Ответить с цитированием
Babylon
[+1 25.10.13]
[+4 18.03.14]
 
Аватар для Babylon

Регистрация: Jan 2006
Адрес: Москва, Зеленоград
Сообщений: 653
Отправить сообщение для Babylon с помощью ICQ
Если понадобятся компоненты List, DataGrid? У соответствующих компонент есть датапровайдеры которые принимают данные от сервера в соответствующем сервисном обработчике.

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

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

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


 


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


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