actionScript for Indonesia

actionScript for Indonesia

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...

Share 

Add a Comment

You need to be a member of actionScript for Indonesia to add comments!

Join this Ning Network

About

© 2009   Created by Fajar "Ja'far" Khan on Ning.   Create a Ning Network!

Badges  |  Report an Issue  |  Privacy  |  Terms of Service