Assalamu alaikum Wr. Wb.
Aku mau tukar idemengenai cara koneksi Flash - My SQL dan PHP pada blog/forum ini, dengan tujuan menemukan cara paling efektif dan memecahkan permasalahan yang dihadapi teman-teman.
Pilihan PHP dqan MySQL didaasarkan pada jumlah pengguna di Indonesia dan kemudahan "menjual" karena banyak klien menggunakannya.
PHP Script untuk menerima permintaan eksekusi SQL dari Flash:
/**
* Author :mi_kuncoro@yahoo.co.id - www.icesflash.com
* Copyright :Quadrant Consultants
* Input :String sqlString and execute.
* Return :String:
* - Rows delimited by ";;;"
* - Fields delimited by ";;"
*/
//Capture input:
$tbl_name = $_POST['TblName'];
$osql = $_POST['sql'];
require_once('iwbcfg.php');
$connect = mysql_connect($hs, $dbu, $dbup);
mysql_select_db ($db, $connect);
//Perform the SQL:
$sql = str_replace("\'", "'", $osql);
$result = mysql_query($sql);
//Return the result:
if($result)
{
if ($result.length == 1)
{
echo $result.";;;";
}
else
{
$rlength=0;
$fmax=NULL;
while($row=mysql_fetch_array($result))
{
$flength=0;
if (!$fmax)
{
$fmax=sizeof($row);
}
for ($flength=0; $flength<$fmax; $flength++)
{
if ($row[$flength]!=NULL)
{
$field=$row[$flength];
echo $field.";;";
}
else
{
echo "0;;";
}
}
$rlength++;
echo ";";
}
}
}
else
{
echo "0;;NO RESULT;;;";
}
mysql_close();
AS3 untuk mengirimkan permintaan SQL ke PHP dari Flash
package iwbsrc.data
{
import flash.events.Event;
import flash.events.MouseEvent;
import flash.events.IOErrorEvent;
import flash.events.SecurityErrorEvent;
import flash.events.HTTPStatusEvent;
import flash.net.URLLoader;
import flash.net.URLLoaderDataFormat;
import flash.net.URLRequest;
import flash.net.URLRequestMethod;
import flash.net.URLVariables;
import iwbsrc.WBMain;
import iwbsrc.data.IDataAcceptor;
public class SQLRequest
{
public var serverURL:String = WBMain.tables.serverURL + "iwbphp/sql_request.php";
public var customer:IDataAcceptor;
private var array:Array;
public function SQLRequest()
{}
/**
* CONSTRUCTOR
* @param1 sql:String. Represent SQL Command
* @param2 acptr:IDataAcceptor. The Data Acceptor
*/
public function loadSQL(sql:String, o:IDataAcceptor):void
{
customer = o;
startLoading(sql);
}
private function startLoading(strSQL:String):void
{
var req = new URLRequest();
req.method = URLRequestMethod.POST;
req.data = "sql=" + strSQL;
req.url = serverURL;
var myLoader:URLLoader = new URLLoader();
myLoader.load(req);
myLoader.addEventListener(Event.COMPLETE, whenLoaded);
myLoader.addEventListener(IOErrorEvent.IO_ERROR, whenIOError);
myLoader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, whenSecurityError);
//myLoader.addEventListener(HTTPStatusEvent.HTTP_STATUS, sayHTTPStatus);
}
private function whenIOError(e:IOErrorEvent):void { trace("IOError: "+e.text); }
private function whenSecurityError(e:SecurityErrorEvent):void { trace("SecurityError: "+e.text); }
private function sayHTTPStatus(e:HTTPStatusEvent):void { trace("HTTPStatus: "+e.status); }
/**
* Parse data from PHP MySQL
* Send to IDataAcceptor
*/
private function whenLoaded(e:Event):void
{
var rows:Array = e.target.data.split(";;;");
var maxi:int = rows.length-1;
var i:int = -1;
array = new Array();
while (++i < maxi)
{
array.push(rows[i].split(";;"));
}
customer.acceptData(array);
}
}
}
IDataAcceptor-nya:
package iwbsrc.data
{
public interface IDataAcceptor
{
function acceptData(a:Array):void
}
}
Silahken yang punya ide...
Tags:
Share
You need to be a member of actionScript for Indonesia to add comments!
Join this social network