hiho,
ich habe eine mysql klasse von einer statischen Funktion abgeleitet, welche nicht aber nicht funktionieren will. Nehme ich folgende Zeilen (AS1), klappt alles hervorragend:
hier erst mal die AS1 Variante: //---------------------------------------------------------------------- table = "meine_tabelle"; querystr = "SELECT * FROM " + table; query = function(str) { var database = "database"; var myXML = new XML (); // This is required so that the php file gets the data.. sendXML.contentType = "text/xml"; sendXML.parseXML ("<gateway><query_db>" + database + "</query_db><query_str><![CDATA[" + str + "]]></query_str></gateway>"); var replyXML = new XML (); replyXML.onLoad = function (success) { if (success) { response.text = ""; response.text = this; } else { response.text = "GUI connection failed."; } }; sendXML.sendAndLoad ("gateway.php", replyXML); } query (querystr ); //---------------------------------------------------------------------- Das funktioniert soweit, ist aber nicht sehr hübsch! Deshalb dachte ich an eine eigene Klasse:
//---------------------------------------------------------------------- class Database.Mysql { /* * Class Vars */ private var __database:String; private var __gateway:String; private var __logFile:String; private var __sendXML:XML; private var __replyXML:XML; // constructor function Mysql (gw) { arguments.length > 0 ? setGateway (gw) : trace ('Error: Path to gateway is missing in constructor'); }; /* * Getter and Setter for __datatbase */ public function setDatabase (db:String):Void { if (db != undefined) { __database = db; __sendXML = new XML(); __sendXML.contentType = "text/xml"; __replyXML = new XML(); } else { trace ("Error: ´Database.Mysql.setDatabase()´ requires 1 Argument: [String]!"); } }; public function getDatabase ():String { return (__database); }; /* * Getter and Setter for __gateway */ public function setGateway (path:String):Void { if (path != undefined) { __gateway = path; }else { trace ("Error: ´Database.Mysql.setGateway()´ requires 1 Argument: [String]!"); } }; public function getGateway ():String { return (__gateway); }; /* * main Function */ public function query(qs:String) { if (__database != "" || __database != undefined) { __sendXML.parseXML("<gateway><query_db>"+ __database +"</query_db><query_str><![CDATA["+ qs +"]]></query_str></gateway>"); __replyXML.onLoad = function (success) { if (success) { __logFile += this + "\n"; return (this); } else { __logFile = "mysql connection failed.\n\r"; showLog(); }; }; __sendXML.sendAndLoad(__gateway, __replyXML); } else { trace ("Error: ´Database.Mysql.query()´: no database or table selected (?)"); } }; /* * Custom Debug Functions */ public function showLog():Void { trace (__logFile); }; public function getLog():String { return (__logFile); }; public function clearLog():Void { __logFile = ""; }; }; // EOC //---------------------------------------------------------------------- Jetzt versuchen wir es mal auf as2: import Database.Mysql; MYSQL = new Mysql ("gateway.php"); MYSQL.setDatabase ("meineDB"); $table = "meineTabelle"; // $mysql_XML = MYSQL.query ("SELECT * FROM " + $table); result.text = MYSQL.getLog ();
//---------------------------------------------------------------------- Die Klasse gibt aber keinerlei Reaktionen von sich.
------------------------------------------------------ Archiv : //www.freelists.org/archives/ascoders/ Optionen : //www.freelists.org/list/ascoders ------------------------------------------------------