|
|
|||||
Регистрация: Mar 2012
Сообщений: 61
|
Как связать As3 c MySQL через PHP.
Как отобразить таблицу из БД MySQL во флэш? если понадобятся компоненты List, DataGrid
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: 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: 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. |
|
|||||
Я честно говоря не понял с чем именно у вас проблема, советую разбить задачу на 3 этапа:
1. Напишите сервер, убедитесь что сервер возвращает то, что вам нужно, запрашивайте его из браузера по url - вы должны увидеть нужные вам данные (неважно текст это, JSON или XML). Ваш скрипт я не тестил, но по беглому взгляду создалось впечатление что он не рабочий, в смысле не возвращает нужные данные. 2. Убедитесь что вы правильно принимаете данные во флешке (трейсите запрашиваемый ответ от сервера). Пока запроса на сервер в вашем коде я тоже не увидел (только для TextArea, и то не уверен что по этому адресу вы что то получаете). 3. Вот уже после этого попробуйте запихнуть эти данные в визуальный компонент. P.S. и да не пишите в кадрах. И если по какому то этапу что то не получится отписывайтесь, я лично делать за вас всю задачу целиком точно не буду, могу только подсказать если что. |
|
|||||
Регистрация: Feb 2014
Сообщений: 57
|
используйте абсолютный путь, и для начала нужно или запустить сервак локально, или иметь таковой в интернете, если таковой есть, то бейте задачу на максимальное количество частей, и решайте поочереди. Трейсите на каждом этапе, если где-то затуп - пишите.
|
|
|||||
[+1 25.10.13]
[+4 18.03.14] |
Если понадобятся компоненты List, DataGrid? У соответствующих компонент есть датапровайдеры которые принимают данные от сервера в соответствующем сервисном обработчике.
|
Часовой пояс GMT +4, время: 09:51. |
|
« Предыдущая тема | Следующая тема » |
Опции темы | |
Опции просмотра | |
|
|