2008年07月01日

Flex:PHP経由でMYSQLを参照してみた

気になるリッチクライアント - Flex

で、Flexをさわってみたいと思い、時間が作れる時に少しずつですが試しています。

その感想や結果などを備忘録を兼ねてここに書いていこうと思います。

今回はデータベース(MYSQL)を参照してみました。




流れとしては

1.FlexからPHPへデータをPOST(GET)する
2.1のデータを条件にPHPからMYSQLへSELECTする
3.結果をPHPで受け取りXML形式のデータを作成する
4.FlexでデータをPHPから受け取り必要な部分を表示する

こんな感じです。

今回はレコードのIDをキーにして先頭一致するIDのデータをDBGRIDに表示してみました。

【Flex】FlexでDBを参照してみた

1のFlexからPHPへリクエストを出す部分は、私はHTTPServiceという方法を使いました。

//----- actionscript部分 ------


<mx:Script>
<![CDATA[
import mx.controls.dataGridClasses.DataGridColumn;
import mx.events.DataGridEvent;

private function send_data():void
{
userRequest.send();
}

]]>
</mx:Script>



//--------- mxml部分 ----------


<!-- IDを入力するテキストボックス -->
<mx:TextInput id="userid" change="send_data()" width="64" maxChars="2"/>

<!-- IDをPHPへPOST -->
<mx:HTTPService id="userRequest" url="http://hoge/hoge.php" useProxy="false" method="POST">
<mx:request xmlns="">
<userid>{userid.text}</userid>
</mx:request>
</mx:HTTPService>

<!-- データを出力するDBGRID -->
<mx:DataGrid id="dg1" x="9" y="142" dataProvider="{userRequest.lastResult.users.user}" width="365" height="184">
<mx:columns>
<mx:DataGridColumn headerText="ID" dataField="id"/>
<mx:DataGridColumn headerText="氏名" dataField="name"/>
<mx:DataGridColumn headerText="性別" dataField="sex"/>
<mx:DataGridColumn headerText="年齢" dataField="age"/>
</mx:columns>
</mx:DataGrid>



//----- PHPで生成するデータ -----


<users>
<user>
<id>1</id>
<name>石原 良夫</name>
<sex>男</sex>
<age>18</age>
</user>
<user>
<id>2</id>
<name>大蔵 修一</name>
<sex>男</sex>
<age>24</age>
</user>



</users>



Flexのコーディングイメージを今まで経験したウェブサイト構築で考えると、ちょっと強引ですが

ActionScript + mxml ≒ JavaScript + html

といった感じでしょうか。

表示・レイアウト系はmxmlが行い、サーバサイドとのやり取りや動的な処理はActionScriptが行うといった具合です。


サーバサイドの処理はある程度切り離して考えられそうです。
ただ、返すデータの形式はやはりXML形式でないといけないっぽいので、単純な構造なら問題ないですが階層の生成が複雑になるとひと手間増えそうな予感が・・・。

あとは、業務アプリケーションを構築する際、従来のインターフェースがどうしても必要になる場合が多いと思うので、ファンクションキーの対応などに悩みそうな感じはします。。

ただ上記の問題は、FlexからAIRというデスクトップアプリケーションを作れるそうで、アプリにさえしてしまえばブラウザに制御を持っていかれないのでクリアできるかな・・・?


Flex関連(ブックマークです)

リンククリックのイベントを取る
Flex Builder 3からimportを自動追加できるように
AIR とか Flex とか Flash - たまにしか更新しない勉強日記
Flexはよくできた“具”、AIRはそれを生かす“皮”

何かしら参考になりましたらクリックをよろしくお願いします
にほんブログ村 IT技術ブログへ   人気ブログランキング    
タグ:MySQL PHP ria flex
この記事へのコメント
このブログPCに詳しい友達に見せたんですが・・・

『そんなに難しい事書いてないじゃん』


え〜〜〜〜www

ゆう♂も、そう言えるように頑張ります(笑)

では、応援『ポチ』っと☆〜〜
Posted by ゆう♂ at 2008年07月01日
>> ゆう♂さん

いつもありがとうです m(_ _)m

>『そんなに難しい事書いてないじゃん』

じゃあもっと難しい事が書けるように頑張らないとっ!


というのは冗談で、難しい事を書こうなんてこれっぽっちも思っていないですよ^^;

ウェブの技術に興味があって好きなだけです。
自分でわかること以上の事は書けませんw

私はソフトウェア業界の人間ではないので(しがない小売業の電算兼任ですw)難しい専門用語等もあまり知りませんし、そういった教育も残念ながら受けていません^^;(できれば受けたかったです)

ですのでブログの記事には専門用語は割と少ないと思います。

ゆう♂さんの友人は私よりも詳しくて、ゆう♂さんよりは私が詳しい。
ただそれだけではないでしょうかw
Posted by トモヒロ at 2008年07月01日
いつもどうもありがとうございます!
トモヒロさんの説明はとってもわかりやすいです。
わたしの知識がないだけ、というか…。
パソコンって知らない人はとことんわからないのですよねえ。
英語みたいなものでしょうか。
知らないと英語の単語がちょっと入っただけで
ひいてしまう、という…。笑
でもパソコンのことを知らないとブログの管理もできないのでちょっとずつがんばります!
Posted by penpen at 2008年07月02日
>> penpenさん

コメントありがとうございます。

説明、わかりやすいと言って頂けると書いてよかったと思います^^
わかりにくいとただのおせっかいになってしまいますからね^^;

パソコンの知識は本当に幅が広いと思います。
上でゆう♂さんとの話でもそうですが、易しい、難しいの判断はその人その人によって全然変わってきますもんね。

ブログがこれだけ多くの人に浸透したのはパソコンの知識がそれほどなくても公開できるという部分がすごく大きいと思います。
でも、ちょっと自分好みにしたいとか思い始めるとやっぱりある程度の知識は必要なわけで・・・w

みんなで情報を共有しあって切磋琢磨していけたらいいですね^^
Posted by トモヒロ at 2008年07月02日
こりゃすごい!かなり興味が沸いてきました。
と言うかこういった技術がこの先必須にな
ってくるような予感!
もう疲れたよパトラッシュ・・・。
とは、まだまだ言えませんねw
Posted by 焼酎Rock at 2008年07月02日
>> 焼酎Rockさん

興味わいてきましたか?
じゃあ一緒にどうですかw

ネットで動向を調べていると、通常のウェブサイトに代わってというよりはどちらかというと従来のアプリケーション(特に業務系かなぁ)に代わって徐々に増えていってるような感じを受けました。
あ、Flexに限らずリッチクライアント全般の話です。

まだまだパトラッシュにもたれかかるわけにはいきませんねww

つーか焼酎Rockさんはまだ若いんじゃ・・・w
Posted by トモヒロ at 2008年07月02日
いつも来ていただいて・・・
今日はこの記事に魅せられて
読んでしまいました。

Flex とても興味があります。
今、久しぶりにFLASHさわりはじめ
アニメーションのところよりも、
ActionScript が面白く、
Flex も気になってしょうがないのです。

とても詳しい丁寧な解説
ありがとうございます。
時々参考にさせていただきます。

Posted by metaboy at 2008年08月13日
コメントを書く
お名前: [必須入力]

メールアドレス:

ホームページアドレス:

コメント: [必須入力]

認証コード: [必須入力]


※画像の中の文字を半角で入力してください。
この記事へのトラックバックURL
http://blog.seesaa.jp/tb/101926776

この記事へのトラックバック
×

この広告は1年以上新しい記事の投稿がないブログに表示されております。