2010-07-13 83 views
1

我正試圖圍繞我的大腦圍繞以我可以使用的方式將數據導入到項目中。我想用我的Flashbuilder應用程序MySQL & PHP,我沒有填充數據網格。動態填充Flashbuilder中的文本字段

爲了簡單起見,在我的數據庫表中我有3列"ID, Title & Content"
我想用它填充我的flashbuilder項目中的不同狀態。

通常,在一個網頁,我可以在SQL語句中說SELECT * FROM table WHERE ID = 1 獲得信息的第一行,我可以把我的標題和內容,我想他們我的網頁上

我可以查詢更改爲SELECT * FROM table WHERE ID = 2來填充頁面2以獲取它的標題和內容。

在flashbuilder中,它全部位於同一頁面上,我不理解如何使用數據庫中的單個字段爲標題或內容區域填充單個文本字段。

看來網絡上的所有例子基本上都是針對datagrid的。

有人可以幫我嗎?

回答

0

我會盡力幫忙。

你有數據庫表(ID,標題,內容)。

繼續並在PHP中創建一個Web服務,它將ping數據庫並檢索數據。我對PHP不太瞭解,因此無法提供具體信息。如果可能,我建議使用諸如AMFPHP或ZendAMF之類的方式在Flex和PHP之間來回傳輸數據。

在Flex中,您可以使用RemoteObject,WebService或HTTPService檢索數據。你會以某種方式返回數據。爲了本示例的目的,我假設您使用的是一種AMF形式,並具有一組值對象。

每個對象都包含ID,標題和內容屬性,表示數據庫表中的單個行。

現在,你對這個數組做什麼?嘗試在單個文本輸入中顯示數據集合會很奇怪。讓我們假設你想創建一個表單編輯的第一個項目:

<Form> 
<formItem label="title"> 
<textInput id="titleInput" text="{resultsFromPHP[0].title}" /> 
</formitem> 
<formItem label="content"> 
<textInput id="contentInput" text="{resultsFromPHP[0].content}" /> 
</formitem> 
<formItem > 
<button label="Process Input" click="processInput()" /> 
</formitem> 
</form> 

所以,你有一個表單,允許輸入,並有一個按鈕。只需編寫點擊處理程序:

protected function processInput():void{ 
resultsFromPHP[0].content = contentInput.text 
resultsFromPHP[0].title = titleInput.text 
// call other PHP Service to update data 
} 

這有幫助嗎?

這是我在瀏覽器中編寫的psuedo代碼,很可能需要調整才能編譯。

+0

嗯,我確實得到了一些工作,我感謝你把我放在路上!我遇到了一些綁定錯誤 「使用方括號運算符時,數據綁定將無法檢測到更改。對於Array,請使用ArrayCollection.getItemAt()。」 protected function fetchDB(event:FlexEvent):void { getResults.token = pagesService.getAllPages(); } dmschenk 2010-07-15 02:26:12

+0

您是否收到錯誤或警告?我建議將getResults.lastResults保存到本地變量中,而不是直接訪問您的服務。在結果處理程序中執行此操作。然後只需修改您的代碼,如警告所示:text.Page1 =「{savedResult.getItemAt(0)。title}「 – JeffryHouser 2010-07-15 10:55:11

+0

你是對的......我收到警告,我會給它一個鏡頭。 – dmschenk 2010-07-16 14:09:57