홈으로 | 무료회원가입 | 아이디/비번찾기
추천음악방송
Flex와 MySQL의 연동 (PHP사용)
10년 전
Flex는 MySQL과 직접적으로 연동을 할수가 없습니다.

때문에 Flex->PHP->MySQL->XML->Flex 라는 다소 복잡한 과정을 거쳐야합니다.

(PHP 대신에 ASP 혹은 JSP 등을 사용할수도 있습니다.)

(물론 잘 찾아보면 DB를 연동할수 있는 컴포넌트가 있긴합니다만,

Flex 자체에서 정식으로 지원하지는 않습니다. 자세한 정보를 원하시면

http://code.google.com/p/assql/ 를 참고하시기 바랍니다.)




개략적인 프로그램의 흐름은 다음과 같습니다.

inputID라는 textinput에서 ID를 받아서 버튼을 눌러 PHP파일을 호출합니다.

PHP파일에서는 mxml에서 보낸 id를 받아서 해당 id의 파일 목록을 얻어와서

xml형식으로 만들어서 다시 flex로 보냅니다.



자 다음은 소스를 보도록 합시다.



MXML

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute">
<mx:Script>
  <![CDATA[
   import mx.collections.ArrayCollection;
   import mx.controls.Alert;
   import mx.rpc.http.HTTPService;
   import mx.rpc.events.ResultEvent;
  
   private var SQLData:ArrayCollection = new ArrayCollection();
  

  
   private function sendAndReceive(event:ResultEvent):void {
    SQLData = event.result.file; //DB에서 받아온 내용을 배열에 바인딩
   }
  
  ]]>
</mx:Script>

<mx:HTTPService id="request" method="POST" url="http://xxx.xxx.xxx.xxx/~next2008/index.php" useProxy="false" result="sendAndReceive(event)">

<!--url은 php파일의 경로이고, result는 php파일 호출후 실행할 함수명입니다.-->
  <mx:request xmlns="*">
   <userID>{inputID.text}</userID>

   <!--실질적으로 php에 데이터 보내는곳입니다. <tag>내용</tag>형식으로 추가하면 됩니다.-->
  </mx:request>
</mx:HTTPService>
<mx:Panel title="example"  width="100%" height="255">
  <mx:TextInput id="inputID"/>
  
  <mx:Button click="request.send();" />
  
</mx:Panel>
</mx:Application>







PHP

<?
    $inputID = $_POST['userID'];

    //Flex에서 보낸 데이터를 받습니다. 변수를 추가로 더 받을때는

    //"$변수 = $_POST['tag'];" 형식으로 합니다.
    $link = @mysql_connect ("MySQL주소", "ID", "패스워드");

    //MySQL이 있는 주소를 적으면 됩니다. php파일이 있는곳에 DB가 있다면

    //localhost 라고 하면 됩니다. ID와 패스워드는 mysql의 아이디와 패스워드입니다.
    $db = mysql_select_db("web", $link);

    //db선택
    $query = "select * from userinfo where id='" .$inputID. "'";
    $result = mysql_query($query, $link) or die ("쿼리잘못");

    //쿼리
    $data = mysql_fetch_array($result) or die("데이터 못넘겨받음(ID이상)");
    $ID = $data[0];
    $db = mysql_select_db($ID, $link);

    //db교체


    $query = "select * from file";
    $result = mysql_query($query, $link) or die("쿼리이상");

    $dataNum = mysql_num_rows($result);
    $fileList = array();
    for($i = 0;  $i < $dataNum;  $i++)
    {
        $data = mysql_fetch_array($result) or die("데이터 잘못넘겨받음");
        for($j = 0;  $j < 4;  $j++)
            $fileList[$i][$j] = $data[$j];
    }

    //데이터를 배열로 받아옵니다.

    for($i = 0;  $i < $dataNum;  $i++)
    {
        $return .= "<file><name>" . $fileList[$i][0] . "</name><upperfolder>" . $fileList[$i][1] . "</upperfolder><size>" . $fileList[$i][2] . "</size><date>" . $fileList[$i][3] . "</date></file>";

    }

    print($return);

    //xml형식으로 만들어서 뿌려줍니다.



    mysql_close($link);


?>







MySQL

db생성-web

create database web;
web/userinfo테이블생성
create table userinfo(id char(10) not null, name char(10) not null, password char(16) not null, nickname char(20) not null, primary key(id));

web/userinfo테이블에 데이터 삽입
insert into userinfo values('tkeo', '최인명', 'asdf', 'Rese');

db생성-tkeo

create database tkeo;

tkeo/file테이블 생성
create table file(fileName char(20) not null, upperFolder char(20) not null, size integer not null, updateDate integer not null, primary key(fileName));

tkeo/file테이블에 데이터 삽입
insert into file values('fghj.exe', 'aaaa', 1301, 20070222);

추천추천 : 500 추천 목록
번호 제목
3,025
 윈도우10 시스템파일 손상 (초간단 오류 복구방법!!)
3,024
 PHP 파일 존재 여부 파악하기(로컬 파일 존재 및 원격지 파일 존재)
3,023
 [CSS] 박스 세로 가운데 중앙 정렬 6가지
3,022
 CSS Layout 수평 & 수직 정렬
3,021
 여러 도메인들 간 쿠키 공유하기
3,020
 태그 사이에 있는 텍스트를 추출
3,019
 [JQuery] textbox focus on off일때 숫자 콤마 보여주기
3,018
 쿠키 생성,가져오기,삭제
3,017
 사용자 함수 모음
3,016
 마우스,키보드 제한 ( 오른쪽클릭,드래그,영역선택등..)
3,015
 [HTML5] <video> - DOM으로 제어하기
3,014
 HTML5 video 태그에서 영상 좌우반전
3,013
 PHP - 특정 태그 및 문자열 추출, 제거
3,012
 [PHP] define과 defined의 차이
3,011
 우클릭 완벽차단 스크립트
3,010
 iframe 높이 100% 맞추기
3,009
 curl 함수를 이용한 HTTP REFERER 변경
3,008
 윈도우10 시스템 파일 및 Dism 검사
3,007
 텍스트 줄바꿈, 글자자르기 CSS
3,006
 jQuery Mobile에서 유용한 코드 10가지.
3,005
 [PHP] dirname()함수와 $_SERVER 관련 상수들
3,004
 [PHP] 파일 크기, 사이즈 불러오는 함수, filesize()
3,003
 [jQuery] jQuery Quick API
3,002
 [ transition ] 링크 hover 색상 변화 속도 조절
3,001
 PHP 5.3.0 에서 사라진 함수들 대체
목록
뮤직트로트 부산광역시 부산진구 가야동 ㅣ 개인정보취급방침
Copyright (C) musictrot All rights reserved.