//connect to the database
$mysql = mysql_connect(DATABASE_SERVER, DATABASE_USERNAME, DATABASE_PASSWORD);
mysql_select_db( DATABASE_NAME );
// Quote variable to make safe
function quote_smart($value)
{
// Stripslashes
if (get_magic_quotes_gpc()) {
$value = stripslashes($value);
}
// Quote if not integer
if (!is_numeric($value)) {
$value = "'" . mysql_real_escape_string($value) . "'";
}
return $value;
}
if( $_POST["emailaddress"] AND $_POST["username"])
{
//add the user
$Query = sprintf("INSERT INTO users VALUES ('', %s, %s)", quote_smart($_POST['username']), quote_smart($_POST['emailaddress']));
$Result = mysql_query( $Query );
}
//return a list of all the users
$Query = "SELECT * from users";
$Result = mysql_query( $Query );
swf 가 로딩이 끝나면(Application 의 creationComplete="userRequest.send()") HTTPService 로 request.php 를 호출하여 request.php 가 만들어준 xml 파일의 데이터를 바인딩 한다.
회원을 추가하고 Submit 버튼을 클릭하면 request.php 로 username,emailaddress 값을 post 방식으로 넘긴다.
flex 가 제공하는 막강한 리스트 (하지만 무거운 ㅎㅎ) DataGrid 로 바인딩한 데이터들을 오름차순(lastResult)으로 뿌려준다.
4. user.mxml 을 컴파일 한 후, 생성된 user.swf 를 request.php 가 있는곳으로 업로드 한다.
경험상, user.swf 와 request.php 파일이 같은 서버에 있지 않으면 http로 시작하는 절대주소로 도메인으로 맞춰준다고 하더라도 통신이 제대로 이루어지지 않는다. 이유는 잘 모르겠다;;
이제 서버에 올려진 user.swf 를 브라우저에서 열어보자.
HTTPService 를 이용해서 매우 간단하게 flex 와 php 사이의 xml 데이터 통신이 이루어졌다.
특별히 php + mysql 에 특화된 방법이라고는 볼 순 없고, 떨구는 xml 형식만 맞춰준다면 jsp,asp 등의 다른 스크립트 언어도 가능하다.
물론 db 역시 꼭 mysql 아니여도 서버측 스크립트와 연동 가능한 모든 db 뿐만 아니라, 떨구는 데이터를 xml 형식으로 맞춰주기만 한다면 파일 형태의 데이터도 가능할 것으로 보인다.