외부DB에서 데이터 가져오기
본문
안녕하세요,
현재 카페24에서 제공하는 DB와
외부서버에서 사용하는DB두개를 연동해서 사용하고자 합니다.
일단 DB연동은 무사히 끝냈습니다.
중요한건 데이터를 가져와서 뿌려줘야 하는데..
영... 나타나질 않네요 데이터가..
일단 게시판 table 명과 외부db table명은 둘다 board2로 동일합니다.
list.skin에서 컬럼명만 바꿔서 뿌려주면 되는줄 알았는데 그게 아닌가봅니다..
기본 그누보드에서는 list를
<?php echo $list[$i]['컬럼명'] ?> 이런식으로 코딩이 되있어서..
헌데 컬럼명만 바꿔주면 안되니..
list라는 배열까지 건드려야 하는건지..
그누보드는 게시판table명이랑 같은 db테이블을 select해와서 뿌려주지 않나요?
답변 5
테이블 구조가 다르다는 것은 프로그램 방법이 달라야 한다는 거에요.
이 부분은 구조적인 문제이므로 외부 테이블 구조에 맞게 프로그램을 해야 하거나
외부 게시판 데이터를 그누보드에 맞춰 이전(컨버팅)을 해야 해요.
아니면 외부측 시스템 담당자에게 데이터를 RSS같은 방식으로 전달해달라고 하세요.
그것을 받은 후 RSS 구조에 맞게 구현 하시면 되요.
구현 방법이야. 상황에 맞는 방법을 선택하시면 될 것 같고요
컬럼명을 왜 바꾸는 것인가요?
테이블 구조가 같으면 바꿀 필요 없을 텐데요.
지금 작업 하시는 것인 외부 그누보드 테이블을 조회하는 것 아닌가요?
그것이 아니라면 외부 테이블에 맞춰서 프로그램 하셔야 해요.
외부 연동으로 많은 글 올리시는데요.
고생 많으시네요.
한 곳에서 성격이 다른 로직을 서로 교차해서 실행 시키는 방법은 좋은 코딩 스타일이 아니에요.
좋은 코딩 스타일이 아니다 보니 생각하지 못한 곳에서 오류가 나올 수 도 있어요.
테이블 이름이 같아도 컬럼이 다르면 데이터를 불러오는 라이브러리 함수를 다 뜯어고쳐야 합니다.
차라리 외부 DB를 그누보드에 맞게 DB 컨버팅을 해서 쓰는게 낫지 않을까 싶네요.
lib 폴더에 common.lib.php 파일을 열어보면 get_list() 함수가 있습니다.
해당 함수가 테이블에서 목록 및 내용을 불러오는 함수인데 여러 함수들이 거미줄처럼 엮여 있습니다.
다른 댓글을 보니 둘다 그누보드5 라면 라이브러리를 수정하실 필요는 없을것 같습니다.
DB 커넥션을 변경하는 부분만 처리하시면 될것 같은데 한파일에서 DB커넥션을 여러번 변경하시면 로딩등 부담이 좀 있습니다.
외부 DB 도 그누보드인가요?
아니든 같던, cafe 24 에 운영되는 사이트에
외부 Db 값을 표현하시것이라면
mysql_select_db
을 검색해 보시구요
이런 건 프로그래머에게 외주 주셔야 되요