홈으로 | 무료회원가입 | 아이디/비번찾기
추천음악방송
Flex와 MySQL의 연동 (PHP사용)
11년 전
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);

추천추천 : 505 추천 목록
번호 제목
3,036
 PHP 함수 정리
3,035
 아이프레임(iframe) 비율 유지하면서 크기 조절하는 방법
3,034
 PHP 배열에서 무작위로 하나 뽑아주는 array rand() 함수
3,033
 PHP 정규식 정리
3,032
 PHP 정규식을 활용한 태그 및 특정 문자열 제거 및 추출 방법
3,031
 php 크롤링 또는 파싱 함수, 정규식 모음
3,030
 제이쿼리 기본 명령어
3,029
 웹페이지 가로 모드세로 모드 인식하기
3,028
 모바일 웹 화면 강제 회전(가로모드 고정)
3,027
 [HTML5]에서 frameset 대체 방법과 iframe 속성
3,026
 HTML <Audio> 사용법
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의 차이
목록
뮤직트로트 부산광역시 부산진구 가야동 ㅣ 개인정보취급방침
Copyright (C) musictrot All rights reserved.