2012-10-25 30 views
0

我越读它混淆了我更多...的Flex的ActionScript PHP和MySQL

所以里面的动作脚本我写下Flex手机项目的功能和PHP文件里我写下了函数我用联系的数据库?

是否有同时使用ActionScript和PHP任何示例应用程序。现在我也弄不清AMFPHP。任何帮助将是巨大的

回答

0

你不需要任何AMFPHP的是,它是对于一些晚期病例。

要保存不便数据库您已经有一个正确的画面:你的数据库命令(SQL命令,使用PDO)应在.php文件。

从您的移动灵活应用程序使用URLLoader,URLStream(稍高级)或HTTPService调用这些.php文件。

这里从我的应用程序视图,它加载从PostgreSQL的玩家一个JSON格式的每周最高:

<?xml version="1.0" encoding="utf-8"?> 
<s:View xmlns:fx="http://ns.adobe.com/mxml/2009" 
     xmlns:s="library://ns.adobe.com/flex/spark" 
     viewActivate="startLoading(event)" 
     viewDeactivate="cancelLoading(event)" 
     title="Weekly top"> 

    <fx:Declarations> 
     <s:MultiDPIBitmapSource id="BACK" 
      source160dpi="@Embed('assets/icons/low-res/back.png')" 
      source240dpi="@Embed('assets/icons/mid-res/back.png')" 
      source320dpi="@Embed('assets/icons/high-res/back.png')"/> 
     <s:MultiDPIBitmapSource id="LOAD" 
      source160dpi="@Embed('assets/icons/low-res/load-top.png')" 
      source240dpi="@Embed('assets/icons/mid-res/load-top.png')" 
      source320dpi="@Embed('assets/icons/high-res/load-top.png')"/> 
    </fx:Declarations> 

    <s:states> 
     <s:State name="portrait"/> 
     <s:State name="landscape"/> 
    </s:states> 

    <s:navigationContent> 
     <s:Button icon="{BACK}" label.landscape="Back" click="navigator.popView()"/> 
    </s:navigationContent> 

    <s:actionContent> 
     <s:BusyIndicator symbolColor="0xFFFFFF" /> 
    </s:actionContent> 

    <fx:Script> 
     <![CDATA[ 
      import com.brokenfunction.json.decodeJson; 
      import spark.events.ViewNavigatorEvent; 

      private const TOP:String = 'http://XXXX.com/top-json.php'; 

      private var _urlLoader:URLLoader = new URLLoader(); 

      private function startLoading(event:ViewNavigatorEvent):void { 
       _urlLoader.addEventListener(Event.COMPLETE, handleComplete); 
       _urlLoader.load(new URLRequest(TOP)); 
      } 

      private function cancelLoading(event:ViewNavigatorEvent):void { 
       _urlLoader.close(); 
      } 

      private function handleComplete(event:Event):void { 
       var loader:URLLoader = URLLoader(event.target); 
       try { 
        var obj:Object = decodeJson(loader.data, true); 
        navigator.pushView(Top, obj.aaData); 
       } catch (e:Error) { 
        trace('Invalid JSON: ' + loader.data); 
        navigator.popView(); 
       } 
      } 
     ]]> 
    </fx:Script>  

    <s:BitmapImage source="{LOAD}" horizontalCenter="0" verticalCenter="0" scaleMode="letterbox" /> 
</s:View>