외부데이터 페이징 채택완료
안녕하세요,
외부db에서 데이터를 가져와 뿌려주고 있습니다..
list.skin.php에서
</p><p> $sql = ",쿼리";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++){
$list2[$i] = $row;</p><p>
<?php //리스트 출력 ?>
<td class="td_"><?php echo $list2[$i]['컬럼'] ?></td></p><p>
페이징기능이 먹질 않습니다.
list.php
</p><p> //추가
$sql2 = "select count(*) from 외부db테이블
$row2 = sql_fetch($sql2);
total_count2 = $row2['cnt'];</p><p> </p><p>$total_page2 = ceil($total_count2 / $page_rows); //전체 페이지 계산2</p><p>$from_record2 = ($page2 - 1) * $page_rows; // 시작 열을 구함2</p><p>//paging 추가</p><p>$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');</p><p>
list.skin.pgp 209라인 근처 페이지에
</p><p><?php echo $write_pages2; ?></p><p>
이런식으로 수정해두었는데..
아무래도 오류가 납니다.
필요한 것들을 다시 선언하지 않아서 그런거겠죠? 혹 어딘가 또 수정할 곳이 있으면 부탁드립니다.
또한 이런식으로 한다면...글 내용보기 또한 수정해줘야 하는거겠죠?
답변 4개
외부게시판용으로 bbs 폴더에서 게시판에 필요한 파일들만 복사해서 bbs2 폴더를 새로 만드시고 거기서 해당 파일들을 수정하시는게 좋겠습니다.
DB 커넥트도 그렇고, 기본 게시판 설정 내용등등을 불러와야 하는데 게시판 환경설정은 내부 DB에서 불러오고 게시판 글 데이터는 외부 DB에서 불러오게 되면 이래저래 안맞는게 많을것 같습니다.
양쪽이 동일한 버전의 그누보드라고 가정하면 DB 커넥트, 게시판 환경설정(board_table), 게시글 테이블(write_xxxx), 첨부파일 테이블(board_file) 등등 연결해서 불러오는 것들이 많습니다.
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
외부 사이트의 게시판 데이터를 보여주고 싶다면 아예 외부사이트에서 rss/xml 형식이나 json 형식으로 목록과 내용을 뽑아내는 API 같은걸 만들고, 내부 사이트에서 해당 내용을 받아서 출력해주는 게시판을 하나 만들어두면 다른 형식의 사이트라 하더라도 불러와서 보여줄수 있죠. 다만, 글쓰기나 이런건 제약이 있겠지만요.
다른쪽에서 돌아가는 게시판을 DB만 연동에서 가져오게 되면 데이터가 많이 꼬일수 있을것 같아요.
글 등록자 회원 아이디도 그렇고, 등록자 IP도 그렇고...
답변에 대한 댓글 1개
보여주는거야 그냥 뿌려주는거까진 하겠는데.. 글 내용보기 시 링크쪽도 손봐줘야 하고..
검색이나 페이지기능...까지...
댓글을 작성하려면 로그인이 필요합니다.
음..아니면
g5_write_table 내부
table 외부
현재 이런식으로 생성이 되있는데..
g5_write_table 에 table을 매핑해서 넣을 수 있나요?
이전에 뭐 덤프나.. db이전할때처럼...
그게 더 빠를까요?
이런식으로 고쳐주다간 끝도 없겠죠?
답변에 대한 댓글 2개
아 뭔가 방법이 없을까요. 공부하며 찾아보려고 해도 경험이 부족하니 아무래도 생각이 짧네요..
댓글을 작성하려면 로그인이 필요합니다.
외부디비랑 접속하실때 이렇게 하나하나 수정하지마시고
외부접속이 필요한 것에 대해 조건문을 거시고 /bbs/board.php의 맨 위쪽에서 common.php는 헤더도 포함되니깐 그 이후에 현재 디비의 접속을 끊고 외부디비로 접속을하신다음에 맨마지막쯤에 테일이전에 다시 외부접속 끊고 원래디비로 접속하세요...
조건문 2번에 db연결만 2번하시면 되요.
답변에 대한 댓글 1개
전 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_테이블 이렇게 하지 않고 그냥 테이블을 하나 새로 만들어 두었습니다.
그래서 저런식으로 일단코딩해둔것인데..
처음엔 sql 작성 후 $list에만 담으면 되는줄알았느데..미련이었네여..ㅎ