상세 컨텐츠

본문 제목

PHP로 MySQL접근하여 XML로 변환

프로그래밍/서버관련

by jin* 2011. 12. 28. 16:05

본문






MySQL 에 등록되어 있는 테이블입니다.






PHP로 DB에 접속하여 XML로 변환후 출력화면입니다.


<?php
 Define( "DATABASE_SERVER", "localhost" ); //MySQL이 있는 서버의 주소
 Define( "DATABASE_USERNAME", "root" ); //MySQL DB의 ID
 Define( "DATABASE_PASSWORD", "apmsetup" ); //ID에 따른 패스워드
 Define( "DATABASE_NAME", "testdb" ); //MySQL DB Table및 DB의 이름입니다.
 
  
   $mysql = mysql_connect(DATABASE_SERVER, DATABASE_USERNAME, DATABASE_PASSWORD);mysql_select_db( DATABASE_NAME ); //MySQL DB접속하는 명령입니다.
   echo "<?xml version='1.0' encoding='utf-8'?>"; //화면에 " "안의 내용들을 출력하는데요 XML문서임을 표시
   echo "<node>"; //최상위 노드  " " 안의 내용들을 화면에 출력
   $qry = "select *from test"; // test라는 테이블의 모든 자료를 불러오는 쿼리입니다.
   $result = mysql_query($qry); //바로 윗줄의 쿼리르 실행하는 명령 mysql_query(변수)
 while($obj=mysql_fetch_object($result)) //반복문. 반복조건으로는 mysql_fetch_object($result)  테이블의 레코드들을 하나하나의 객체로 얻음
{
  $obj->ID=iconv("euc-kr","utf-8",$obj->ID); // ID라는 레코드에서 한글로 되어 있는 필드를 강제로 utf-8에서 euc-kr로 변환 시켜 주는 겁니다.
  $obj->name=iconv("euc-kr","utf-8",$obj->name); 
  $obj->address=iconv("euc-kr","utf-8",$obj->address); 
  $obj->tel=iconv("euc-kr","utf-8",$obj->tel); 
    $return.="<node ID='$obj->ID' name='$obj->name' address='$obj->address' tel='$obj->tel' />";
//위 while문의 반복조건은 모든 레코드가 mysql_fetch_object로 처리될때까지 참. 만약 더 이상 처리할 레코드가 없게되면 조건이 거짓이 되므로 조건문을 빠져나가게 되고 그전까지 $return이라는 변수에 하위 노드가 쌓이게 됨.
    }
 printf($return); // 위의 $return에 저장되 있는 문자열을 화면에 출력해줍니다.


 echo "</node>"; //최상위 노드를 닫음.

?>




출처(참고) : http://crashonu.blogspot.com/2010/12/mysql-php-xml.html


관련글 더보기

댓글 영역