외부DB에서 데이터 가져오기

외부DB에서 데이터 가져오기

QA

외부DB에서 데이터 가져오기

본문

안녕하세요,

현재 카페24에서 제공하는 DB와 

외부서버에서 사용하는DB두개를 연동해서 사용하고자 합니다.

 

일단 DB연동은 무사히 끝냈습니다.

 

중요한건 데이터를 가져와서 뿌려줘야 하는데..

영... 나타나질 않네요 데이터가..

 

일단 게시판 table 명과 외부db table명은 둘다 board2로 동일합니다.

list.skin에서 컬럼명만 바꿔서 뿌려주면 되는줄 알았는데 그게 아닌가봅니다..

 

기본 그누보드에서는 list를

<?php echo $list[$i]['컬럼명'] ?> 이런식으로 코딩이 되있어서..

 

헌데 컬럼명만 바꿔주면 안되니..

list라는 배열까지 건드려야 하는건지..

 

그누보드는 게시판table명이랑 같은 db테이블을 select해와서 뿌려주지 않나요?

 

이 질문에 댓글 쓰기 :

답변 5

테이블 구조가 다르다는 것은 프로그램 방법이 달라야 한다는 거에요.

이 부분은 구조적인 문제이므로 외부 테이블 구조에 맞게 프로그램을 해야 하거나 

외부 게시판 데이터를 그누보드에 맞춰 이전(컨버팅)을 해야 해요.

 

아니면 외부측 시스템 담당자에게 데이터를 RSS같은 방식으로 전달해달라고 하세요.

그것을 받은 후 RSS 구조에 맞게 구현 하시면 되요.

 

구현 방법이야. 상황에 맞는 방법을 선택하시면 될 것 같고요

 

음 잘 모르겠습니다.
자세한 상황을 설명드리자면
카페24호스팅-내부db
외부서버-그누보드
이렇게 두개의 호스팅을 사용중입니다.
이중 외부db에 있는 데이터를 가져와서 카페24에도 뿌려주고자 하는건데..

둘다 그누보드5사용하는데도 필요한건가요?

둘다 그누보드라면 DB con만 해결 하시면 되요.
DBcon에 문제가 없는데 데이터가 나오지 않는다면

print_r($list); eixt;
등등 echo 그러것을 사용해서  디버깅해보세요.

음알수가 없네요
내부는 board2(id,name) 이렇고
외부가 board2(job, etc) 이런식으로 잇을경우
list에서 출력해주는 컬럼부분만 변경해주는게 아닌가봐요..
dbcon도 에러가 나지 않길래 연동된거라고 생각했는데..;

컬럼명을 왜 바꾸는 것인가요?

테이블 구조가 같으면 바꿀 필요 없을 텐데요.

 

지금 작업 하시는 것인 외부 그누보드 테이블을 조회하는 것 아닌가요?

 

그것이 아니라면 외부 테이블에 맞춰서 프로그램 하셔야 해요.

 

외부 연동으로 많은 글 올리시는데요.

 

고생 많으시네요. 

 

한 곳에서 성격이 다른 로직을 서로 교차해서 실행 시키는 방법은 좋은 코딩 스타일이 아니에요.

 

좋은 코딩 스타일이 아니다 보니 생각하지 못한 곳에서 오류가 나올 수 도 있어요.

 

 

아 다른 db일경우 테이블명이 같아도 컬럼이 다르면 뜯어고칠양이 많나요?
저도 난감하네요 데이터불러오는게 뭐가 어렵냐는 소리 듣고..ㅎ
그럼 내부db의 board2 테이블으 ㅣ컬럼을 죄다 바꿔줘야 하는건지.. 산넘어 산이네요 ..;

테이블 이름이 같아도 컬럼이 다르면 데이터를 불러오는 라이브러리 함수를 다 뜯어고쳐야 합니다.

차라리 외부 DB를 그누보드에 맞게 DB 컨버팅을 해서 쓰는게 낫지 않을까 싶네요. 

lib 폴더에 common.lib.php 파일을 열어보면 get_list() 함수가 있습니다.

해당 함수가 테이블에서 목록 및 내용을 불러오는 함수인데 여러 함수들이 거미줄처럼 엮여 있습니다.

 

다른 댓글을 보니 둘다 그누보드5 라면 라이브러리를 수정하실 필요는 없을것 같습니다.

DB 커넥션을 변경하는 부분만 처리하시면 될것 같은데 한파일에서 DB커넥션을 여러번 변경하시면 로딩등 부담이 좀 있습니다.

 

 

 

외부 DB 도 그누보드인가요?

아니든 같던, cafe 24 에 운영되는 사이트에

외부 Db 값을 표현하시것이라면 

 

mysql_select_db

 

을 검색해 보시구요

 

이런 건 프로그래머에게 외주 주셔야 되요

$select_db = mysql_select_db("db명", $connect_db);
이런식으로 db연동하는부분에 코딩해줬구요..

내부db테이블의 컬럼과 외부db의 테이블의 컬럼..
두 db의 테이블명은 같으며 컬럼명들은 다릅니다.

이럴경우 수정해야할 것들이 많나요?
저는 그저 외부db컬럼명들만 적어주면 끝날 줄 알았는데..
어떤식으로 복잡해지는지 알 수 있을까요?

답변을 작성하시기 전에 로그인 해주세요.
전체 45
QA 내용 검색

회원로그인

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