다시 정리 해서 올립니다. sql 파싱 좀 봐주세요. > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

다시 정리 해서 올립니다. sql 파싱 좀 봐주세요. 정보

다시 정리 해서 올립니다. sql 파싱 좀 봐주세요.

본문

동영상 게시판을 만들었습니다.
글쓰기를 하고 동영상을 파일첨부 한 다음 완료를 하면
동영상 파일이 암호와 되어 저장되고 저장된 파일 이름이 g4_board_file_movie 이란 테이블에
bf_file라는 필드에 저장됩니다.
그리고 나머지 제목이나 글쓴이 작성날짜는 g4_write_vod 라는 곳에 wr_subject, wr_name, wr_datetime각 저장이 되는데요
이놈들을 파싱 하고 싶은 겁니다.
g4_write_vod 에 있는것만 파싱을 하면 잘 됩니다.
하지만 g4_board_file_movie 테이블에 있는 암호화된 동영상 이름도 같이 파싱을 해야되는 상황입니다.
이렇게 하나 이상의 테이블의 DB값들을 가져 오기 위해서
프로그래밍을 어떡게 해야될까요??

===========================================================================================
<?
$connect = mysql_connect("127.0.0.1", "root", "root"); //DB가 있는 주소(이것은 웹서버로 직접 접속하는 것이기 때문에 루프백 주소를 써도 됨)
mysql_selectdb("test"); //DB 선택
mysql_query("set names utf8"); //이것 또한 한글(utf8)을 지원하기 위한 것
 
$qry = "select * from g4_write_vod;";
$result = mysql_query($qry);

$xmlcode = "<?xml version = \"1.0\" encoding = \"utf-8\"?-->\n"; //xml파일에 출력할 코드
 
while($obj = mysql_fetch_object($result))
{
        $wr_subject = $obj->wr_subject;
        $wr_name = $obj->wr_name;
        $wr_datetime = $obj->wr_datetime;
 
        $xmlcode .= "<node>\n";
        $xmlcode .= "<tible>$wr_subject</tible>\n";
        $xmlcode .= "<name>$wr_name</name>\n";
        $xmlcode .= "<datetime>$wr_datetime</datetime>\n";
        $xmlcode .= "</node>\n";
}

$dir = "C:/APM_Setup/htdocs/SQL";
$filename = $dir."/vod.xml";
 
file_put_contents($filename, $xmlcode); //xmlcode의 내용을 xml파일로 출력
?>
===========================================================================================
이렇게만 하면 잘 됩니다.

===========================================================================================
<?
$connect = mysql_connect("127.0.0.1", "root", "root");
mysql_selectdb("happyserve"); //DB 선택
mysql_query("set names utf8"); //이것 또한 한글(utf8)을 지원하기 위한 것
 
$qry = "select * from g4_write_vod, g4_board_file_movie;";
$result = mysql_query($qry);

$xmlcode = "<?xml version = \"1.0\" encoding = \"utf-8\"?-->\n"; //xml파일에 출력할 코드
 
while($obj = mysql_fetch_object($result))
{
    $wr_subject = $obj->wr_subject;
    $wr_name = $obj->wr_name;
    $wr_datetime = $obj->wr_datetime;
    $bf_file = $obj->bf_file;


    $xmlcode .= "<node>\n";
    $xmlcode .= "<tible>$wr_subject</tible>\n";
    $xmlcode .= "<name>$wr_name</name>\n";
    $xmlcode .= "<datetime>$wr_datetime</datetime>\n";
    $xmlcode .= "<movie>$bf_file</movie>\n";
    $xmlcode .= "</node>\n";
}

$dir = "C:/APM_Setup/htdocs/SQL";
$filename = $dir."/vod.xml";
 
file_put_contents($filename, $xmlcode); //xmlcode의 내용을 xml파일로 출력
?>
===========================================================================================
요래 하면 나오긴 하나 파싱값이 뒤죽박죽 되어서 나옵니다

===========================================================================================
<?xml version = "1.0" encoding = "utf-8"?-->
<node>
<tible>erwer</tible>
<name>최고관리자</name>
<datetime>2012-08-08 20:39:33</datetime>
<movie>2039265712_94bae212_EC8BB8EC9DB4-EAB095EB82A8EC8AA4ED8380EC9DBC282012-07-29+EC9DB8EAB8B0EAB080EC9A9429.DivX.AC3-GGoChu.avi</movie>
</node>
<node>
<tible>테스트</tible>
<name>최고관리자</name>
<datetime>2012-08-08 20:46:11</datetime>
<movie>2039265712_94bae212_EC8BB8EC9DB4-EAB095EB82A8EC8AA4ED8380EC9DBC282012-07-29+EC9DB8EAB8B0EAB080EC9A9429.DivX.AC3-GGoChu.avi</movie>
</node>
<node>
<tible>erwer</tible>
<name>최고관리자</name>
<datetime>2012-08-08 20:39:33</datetime>
<movie>2130706433_6f592c1a_120609+SMT+IN+Taiwan+The+boys+ED839CEC97B0+ECA781ECBAA0+by+ED948CED8E98.flv</movie>
</node>
<node>
<tible>테스트</tible>
<name>최고관리자</name>
<datetime>2012-08-08 20:46:11</datetime>
<movie>2130706433_6f592c1a_120609+SMT+IN+Taiwan+The+boys+ED839CEC97B0+ECA781ECBAA0+by+ED948CED8E98.flv</movie>
</node>
===========================================================================================

균이님이 답글 달아 주신대로 해보니 에러가 나네요
그리고 g4_board_file테이블은 사용 하지 않습니다.

제가 초보 입니다.. 글을 보시면 아시겠지만요 ㅜㅜ;
조금 상세히 부탁드릴께요

그리고 wr_datetime 날짜 파싱할때 0000-00-00 00:00:00 시간:분:초 이건 빼고 파싱하고 싶은데 어떡게 해야되나요??

댓글 전체

>뒤죽박죽나오는건

$qry = "select * from g4_write_vod, g4_board_file_movie;";

이 두테이블이 아무런 조건이 없이 조인이 되었기때문입니다


g4_board_file_movie에 wr_id가 있을꺼에요

$qry = "select * from g4_write_vod a, g4_board_file_movie b where a.wr_id = b.wr_id";

> 그리고 wr_datetime 날짜 파싱할때 0000-00-00 00:00:00 시간:분:초 이건 빼고 파싱하고 싶은데 어떡게 해야되나요??
$wr_datetime = date("Y-m-d",strtotime($obj->wr_datetime));
으해해~~~ 잘됩니다.
조건문을 쏠랑 빼먹은거군요
select * from where문이라고 보긴 했는데 이해해 잘 안갔는데 훅하니 이해했습니다.
감사합니다.
전체 66,554 |RSS
그누4 질문답변 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1402호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT