AS3 cannot load variables from MySQL directly. The variables must be loaded by using PHP to get data from MySQL. The principle is AS3 call and get the results from PHP page, PHP connect and retrieve data from MySQL then print the results in correct format for loading variables in AS3
ตัวอย่างสำหรับการโหลดตัวแปรของ AS3 จาก MySQL เป็นตามด้านล่าง
The example of loading variables in AS3 from MySQL is shown as below
สำหรับ MySQL, สร้างตารางชื่อ test ซึ่งมีโครงสร้างตารางตามด้านล่าง
For MySQL, create a table which name test which has table structure as below
- CREATE TABLE `test` (
- `col` varchar(50) NOT NULL
- ) ENGINE=MyISAM DEFAULT CHARSET=utf8;
After you create a table, insert the value into test as below
- INSERT INTO `test` VALUES ('test select');
สำหรับ PHP, สร้างไฟล์ PHP ชื่อ select.php และใส่โค้ดตามด้านล่าง
- <?php
- mysql_connect("localhost","root","1234");
- mysql_select_db("test");
- mysql_query("set names utf8");
- $result=mysql_query("select * from test");
- $row=mysql_fetch_assoc($result);
- $key=array_keys($row);
- for($i=0;$i<count($key);$i++){
- if($i>0)
- echo "&";
- echo $key[$i]."=".$row[$key[$i]];
- }
- ?>
The output string from PHP must be "variable_name=variable_value&variable_name=variable_value&..."
ในบรรทัดที่ 2, คุณต้องเปลี่ยนจาก localhost เป็นชื่อโฮสต์ของคุณ, root เป็นชื่อผู้ใช้ของคุณ และ 1234 เป็นรหัสผ่านของคุณ
On line 2, you must change localhost to your host name, root to your username, and 1234 to your password
สำหรับ AS3, สร้างไฟล์ ActionScript 3.0 ใหม่ และใส่โค้ดตามด้านล่าง
For AS3, create new ActionScript 3.0 and insert AS3 code as below
- import flash.events.*;
- import flash.net.*;
- var myLoader:URLLoader = new URLLoader();
- myLoader.dataFormat=URLLoaderDataFormat.VARIABLES;
- myLoader.load(new URLRequest("http://localhost/select.php"));
- myLoader.addEventListener(Event.COMPLETE, handleLoadSuccessful);
- myLoader.addEventListener(IOErrorEvent.IO_ERROR, handleLoadError);
- function handleLoadSuccessful(evt:Event):void
- {
- trace(evt.target.data);
- }
- function handleLoadError(evt:IOErrorEvent):void
- {
- trace("Cannot Load");
- }
กดปุ่ม Ctrl+Enter เพื่อรันสคริปต์ ซึ่งผลลัพธ์ที่ได้คือ col=test%20select บนหน้าต่าง OUTPUT
Press Ctrl+Enter to run script then the result is shown as col=test%20select on the OUTPUT window
Press Ctrl+Enter to run script then the result is shown as col=test%20select on the OUTPUT window
ในบรรทัดที่ 11, คุณสามารถใช้ evt.target.data.col แทน evt.target.data เพื่อเลือกเฉพาะตัวแปร col ซึ่งผลลัพธ์ที่ได้คือ test select บนหน้าต่าง OUTPUT
On line 11, you can use evt.target.data.col instead of evt.target.data to select the variable name col which the result is shown as test select on the OUTPUT window
No comments:
Post a Comment