외부데이터 페이징

외부데이터 페이징

QA

외부데이터 페이징

본문

안녕하세요,

외부db에서 데이터를 가져와 뿌려주고 있습니다..


list.skin.php에서


         $sql = ",쿼리";
         $result = sql_query($sql);        
         for ($i=0; $row=sql_fetch_array($result); $i++){
         $list2[$i] = $row;​

         <?php //리스트 출력 ?>
            <td class="td_"><?php echo $list2[$i]['컬럼'] ?></td>

​이런식으로  list2로  담아서 출력해주기때문에

페이징기능이 먹질 않습니다.

 

 

 

list.php


  //추가
  $sql2 = "select count(*) from 외부db테이블
  $row2 = sql_fetch($sql2); 
  total_count2 = $row2['cnt'];​
 
$total_page2 = ceil($total_count2 / $page_rows);  //전체 페이지 계산2
$from_record2 = ($page2 - 1) * $page_rows; // 시작 열을 구함2
//paging 추가
$write_pages2 = get_paging(G5_IS_MOBILE ? $config['cf_mobile_pages'] : $config['cf_write_pages'], $page2, $total_page2, './board.php?bo_table='.$bo_table.$qstr.'&page=2');

 

 

list.skin.pgp 209라인 근처 페이지에


<?php echo $write_pages2;  ?>

 

 

이런식으로 수정해두었는데..

아무래도  오류가 납니다.

필요한 것들을 다시 선언하지 않아서 그런거겠죠? 혹 어딘가 또 수정할 곳이 있으면 부탁드립니다.

또한 이런식으로 한다면...글 내용보기 또한 수정해줘야 하는거겠죠?

 

이 질문에 댓글 쓰기 :

답변 4

외부게시판용으로 bbs 폴더에서 게시판에 필요한 파일들만 복사해서 bbs2 폴더를 새로 만드시고 거기서 해당 파일들을 수정하시는게 좋겠습니다.

DB 커넥트도 그렇고, 기본 게시판 설정 내용등등을 불러와야 하는데 게시판 환경설정은 내부 DB에서 불러오고 게시판 글 데이터는 외부 DB에서 불러오게 되면 이래저래 안맞는게 많을것 같습니다.

양쪽이 동일한 버전의 그누보드라고 가정하면 DB 커넥트, 게시판 환경설정(board_table), 게시글 테이블(write_xxxx), 첨부파일 테이블(board_file) 등등 연결해서 불러오는 것들이 많습니다.

 

둘다 그누보드5이긴 하지만
외부쪽에서 g5_write_테이블 이렇게 하지 않고 그냥 테이블을 하나 새로 만들어 두었습니다.
그래서 저런식으로 일단코딩해둔것인데..

처음엔 sql 작성 후 $list에만 담으면 되는줄알았느데..미련이었네여..ㅎ

외부디비랑 접속하실때 이렇게 하나하나 수정하지마시고

 

외부접속이 필요한 것에 대해 조건문을 거시고 /bbs/board.php의 맨 위쪽에서 common.php는 헤더도 포함되니깐 그 이후에 현재 디비의 접속을 끊고 외부디비로 접속을하신다음에 맨마지막쯤에 테일이전에 다시 외부접속 끊고 원래디비로 접속하세요...

 

조건문 2번에 db연결만 2번하시면 되요.

아하..
전 list.php 에서
조건문을 주었습니다.

dbconfig.php였나..?거기에 외부db정보 입력해주고
list.php에

if($bo_table == table')
$g5['connect_db'] = $g5['connect_db_out'];

//db해제
$g5['connect_db'] = $g5['connect_db_in'];

이런식으로요.

이걸 board.php로 옮기면 된다는거죠?

근데 내부db에 있는 table과 외부db에 있는 table 명이 달라서
sql을 제가 새로 작성해줬거든요...

list.skin.php에
$sql = "쿼리";
        $result = sql_query($sql);       
        for ($i=0; $row=sql_fetch_array($result); $i++){
        $list[$i] = $row;

이런식으로 쿼리문만 새로 담아서 넣었을 때
과연 다른 모든 기능을 사용할 수 있는지..

음..아니면

g5_write_table 내부

table 외부

 

현재 이런식으로 생성이 되있는데..

 

g5_write_table 에 table을 매핑해서 넣을 수 있나요?

이전에 뭐 덤프나.. db이전할때처럼...

그게 더 빠를까요?

 

이런식으로 고쳐주다간 끝도 없겠죠?

 

 

 

게시판 생성해서 DB 이전으로 넣으면 아무문제 없겠죠. 하지만 그렇게 되면 외부 DB와 동기화(?) 같은 문제가 또다시 발생될수도 있겠죠. 전반적인 상황을 고려하셔서 선택을 하셔야 할것 같습니다.

외부 사이트의 게시판 데이터를 보여주고 싶다면 아예 외부사이트에서 rss/xml 형식이나 json 형식으로 목록과 내용을 뽑아내는 API 같은걸 만들고, 내부 사이트에서 해당 내용을 받아서 출력해주는 게시판을 하나 만들어두면 다른 형식의 사이트라 하더라도 불러와서 보여줄수 있죠. 다만, 글쓰기나 이런건 제약이 있겠지만요.

다른쪽에서 돌아가는 게시판을 DB만 연동에서 가져오게 되면 데이터가 많이 꼬일수 있을것 같아요.

글 등록자 회원 아이디도 그렇고, 등록자 IP도 그렇고...

 

답변을 작성하시기 전에 로그인 해주세요.
전체 0 | RSS
QA 내용 검색
  • 개별 목록 구성 제목 답변작성자조회작성일
  • 질문이 없습니다.

회원로그인

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