답변 5개 / 댓글 11개
제일 좋은 방법은 외부 DB를 연결하여 프로그램을 만드는 방법이 좋아요
그런데 이 부분을 못하시기 때문에 차선책인 db를 복사 한 후에 작업 하시는 것을 추천하는 것이에요
저번에 작업 방법을 댓글로 남겼는데요.
다시 정리 해드릴게요
board.php나 tail.php 안에 아이프레임으로 파일 한개 만드세요.
그 파일은 사이트 접속시 매번 실행 될 거에요.
아무런 조건이 없으니깐요. 외부 DB에서 내부 DB로 데이터만 복사하닌까요.
1. 아이프레임을 만든다.
2. 대략적인 코딩
2.1 내부 테이블에서 외부 테이블에 시퀀스를 알아낸다.
시퀀스를 저장해야지 외부 테이블 어디까지 저장되었는지 알 수 있죠.
select max(wr_id) as wr_id from 내부 테이블
2.2 외부 DB 조회
select * from 외부 테이블 where wr_id > '외부시퀀스' order by wr_id asc
2.3 조회된 데이터를 내부 테이블에 넣는다.
while( $f = sql_fetch_array( $res ) ){
insert 쿼리 <== 이곳에서 중요한 것은 외부 테이블 시퀀스 번호를 꼭 저장해야 해요. 그래야 다음에 그 번호를 초과한 데이터 부터 복사할 수있어요
}
이렇게 하면 내부 테이블로 시도 때도 없이 접속하여 데이터를 복사하게 될 것이고요.
그럼.. 그누보드 board.php를 순정 상태에서 사용할 수 있어요
답변에 대한 댓글 3개
내부, 외부
mysqli를 이용하면 편해요.
mysql과 비슷한 방법으로 연결되고요.
이것은 네이버에 검색 해보세요.
dbcon 할 줄 알고 select 할 줄 알고 내부, 외부 테이블 구조가 같으니
dbcon만 성공하면 쉽게 풀리죠.
단,
이경우는 그누보드 라이브러리 못 사용해요.
mysqli_query, mysqli_fetch_array를 검색해보세요.
mysql_query, mysql_fetch_array와 같아요
mysql_query => 그누보드 sql_query
mysql_fetch_array => 그누보드 sql_fetch_array
에요.
결국 외부테이블을 내부서버에 복사해서 사용한다는 것인가요?(나중에 실력이 좀 붙어서 보면 왜 이런짓을 했을까 할 겁니다)
질문의 내용 그대로만 하면 됩니다. 정확한 순서입니다
그런데 복사할 필요없이 외부, 내부 왔다갔다하면서 테이블을 열고 쓰고 하는 방법도 똑 같습니다
다만
4. 내부db연동 --> 이것은 connect를 다시 하는 것이 아니라 $g5['connect_db'] 값만 변경해주면 됩니다
-- 디비해제 즉 mysql_close()는 하지않고 그냥 둡니다
이 작업을 하는 방법이 예전 답변 어디에 설명이 있었을텐데...
이렇게 하는 이유는 그누보드 자체함수를 모두 그대로 사용할 수 있게 하는 것입니다
에를들어 외부 디비에 작업할때도 $result=sql_query("select~~~), sql_query('update~~) 처럼 내부 디비 작업과 동일하게 하면 된다는 말입니다
답변에 대한 댓글 2개
xml이나 json 같은 거 필요 없고용,.
그냥 외부 db connect 하나 더 만들어서 사용하시면 됩니다.
연동 방법은 어떻게 하실지 정확한 설계를 하신 다음에 정하시면 됩니다.
질문글을 읽어본 결과 아직 비전공자이거나 초급이신 것 같으신데, 혼자 감당하기는 어려울 경우
경력직의 도움을 받아보세요. 간단한 것인데 아직 경험이 부족하여 헤매시는 것 같습니다.
음... 전에 XML이나 JSON으로 데이터를 받아서 보여주는 게시판을 말씀드렸는데, 그 내용이 AJAX와 동일한 내용이나 마찬가지 입니다.
AJAX가 jquery 를 쓰면 어렵지 않은건 사실이나 전혀 모르는 상태에서 개념부터 잡고 들어가려면 이해하시는데 시간이 좀 걸리실겁니다.
같은 문제로 워낙 고생하시는것 같아서 도와드리고 싶어도 간단한 내용이 아니라 참 안타깝네요.
화이팅 입니다~~!!!
외부 디비에서 가지고 오는 데이터를
내부 디비와 혼합해서 출력을 해주시는게 아니라면
그냥 비동기 형태의 ajax로 외부 서버와 연동해서
해당 데이터만 배열로 받아서 처리 하시는걸 생각해 보시는것도
나쁘진 않아 보이는데요...
뭐 내부서버와 혼합해서 출력을 하더라도... 그냥 배열로 처리한다음
출력해주시면 될듯한데요
정확하게 어떤 시스템에서 어떤 데이터의 형태인지 알수 없으니..^^
답변에 대한 댓글 4개
답변을 작성하려면 로그인이 필요합니다.
board.php에 db연동부분은 어떻게 해결하나요?
db복제하려면 내부,외부 db가 둘 다 연결되어 있어야 하지 않나요?