這次為了將資料庫的資料取出作成DataGrid弄了一陣子

只能說功力太爛了

要再多多練習

首先我想要取出資料庫的某些資料例如會員資料

資料欄位有id,pw,name這三個

首先是資料庫部份

上次發現程式碼如果直接用複製貼上的話

似乎會出錯

好像會有些不必要的字元

慢慢打比較不會出錯~

檔名:db.php
CODE:

<?php
    // 連結資料庫
    $dbhost = "*****"; //資料庫網址或IP   *****請自行輸入
    $dbusername = "*****"; //資料庫帳號
    $dbuserpassword = "*****"; //資料庫密碼
    $default_dbname = "*****"; //資料庫名稱
    


    $connection = mysql_pconnect($dbhost, $dbusername, $dbuserpassword) or die("無法連結資料庫!");
    $db = mysql_select_db($default_dbname, $connection) or die("無法選擇資料庫");


?>


檔名:getuser.php
CODE:

 

<?php
    include "db.php";    //連資料庫


    mysql_query('SET NAMES utf8');                //有時中文會有問題加上這三行可以解決
    mysql_query('SET CHARACTER_SET_CLIENT=utf8');
    mysql_query('SET CHARACTER_SET_RESULTS=utf8');


    $query = "select * from usert";               
    $result = mysql_query($query,$connection);
    $outpute ="";
    while ($nb=mysql_fetch_array($result)) {
        $outpute .= "<user>";
$outpute .= "<id>".$nb['id']."</id>";
$outpute .= "<pw>".$nb['pw']."</pw>";
$outpute .= "<name>".$nb['name']."</name>";
$outpute .= "</user>";
    }
    echo $outpute;


?>

getuser.php裡面這次回傳是用標籤語法

把資料當作是XML般的丟回來

在Flex端作接收

檔名:userdatagride.mxml
CODE:

 


<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="phpService.send()">

<mx:HTTPService id="phpService" url="http://127.0.0.1/getuser.php" method="POST" />
<mx:DataGrid width="100%" fontSize="14" rowCount="10" dataProvider="{phpService.lastResult.user}">
<mx:columns>
         <mx:DataGridColumn dataField="id" headerText="ID"/>
         <mx:DataGridColumn dataField="pw" headerText="密碼"/>
         <mx:DataGridColumn dataField="name" headerText="姓名"/>      
        </mx:columns>
</mx:DataGrid>
</mx:Application>

 

粗體字的地方注意一下當建立完成後要去做send的動作

雖然沒有資料

這樣他會傳回

我們getuser.php裡echo的字串

再指定給dataProvider

.lastResult這邊我比較不知道為什麼要加如果有人知道麻煩告訴我@@

.user就是我們傳回的字串裡的標籤

這樣就完成了

datagride 

arrow
arrow
    全站熱搜

    qaz33326 發表在 痞客邦 留言(0) 人氣()