올해 처음으로 질문좀 드리겠습니다.
본문
a게시판 글이 100개정도 있습니다. 필드는 50개
b게시판 글이 300개정도 있습니다. 필드는 72개
서로 필드갯수가 다릅니다.
a게시판을 b게시판과 같이 디비를 어떻게 만들 수 잇을까요?
쉽게 말해 글 100개는 살리면서 필드구조만 b게시판처럼 하고 싶다는 것입니다.
뭐라고 설명할 방법이 없네~,,ㅋ
이렇게 될지...
b게시판 디비에 a게시판 wr_id 1~100까지는 다시 집어넣고 싶은데 어떻게 할 수 있을지요..
b게시판중에 a게시판 wr_id 1~100까지는 대체되는 것입니다.
답변 3
어쨋든 게시판의 db내용을 옮기려면
해당 게시글을 읽어오고 각 필드(wr_subject, wr_content등)를 변수에 담고
그 이후에 기존의 wr_id 1,2,3번등 쭉쭉 업데이트로 기존의 가져오고 싶은 내용으로 갱신해줘야하는데
게시판을 개조해서
체크박스 이후에 게시물이동로직을 이용하면 구현이 가능할것같고
그것이 어렵다면
각각의
게시물의 view.skin.php페이지쪽이나 list.skin.php페이지에서
wr_id 몇번으로 옮길지 입력하고 확인버튼누르면 쫙 일괄로 업데이트 되는등
방법은 수십가지가 있겠습니다.
제머리로는 나오는게 해당 a게시판의 1번게시물에 들어갔을때에
하단에
$table = "g5_write_b";
$sql = " update $table
set wr_num = '$view[$wr_num]',
wr_reply = '$view[$wr_reply]',
wr_comment = $view[$wr_comment],
ca_name = '$view[$ca_name]',
wr_option = '$view[$wr_option]',
wr_subject = '$view[$wr_subject]',
wr_content = '$view[$wr_content]',
wr_1 = '$view[wr_1]',
wr_2 = '$view[wr_2]'
where wr_id = '1' ";
sql_query($sql);
뭐 대략 이런식으로 업데이트문을 바로 날려주면
담는즉시 날리면서 업데이트 하겠지요
물론 디비는 충분히 백업해놓으시고 작업하셔야하겠죠
!-->
관리자로 로그인하면 게시판목록에 "선택복사", "선택이동"이란 놈이 있는데
이것이 bbs/move.php를 사용합니다.
실제 데이타 복사나, 이동처리하는것은 bbs/move_update.php 인데
이 파일에서 insert 쿼리 부분에 a 게시판의 추가된 50개 필드만 처리해서 선택복사 해보는것이 좋을것 같습니다.
1. 작업시 move_update.php는 백업받아두시고
2. move_update.php 수정하여 선택복사 해보시면서
3. 뭔가 문제가 생기면 새로 추가되는 b 게시판에 잘못들어간 데이타만 삭제하는 방식으로 진행하면 될것 같습니다.
게시판a와 게시판b의 wr_id가 동일하다면 다음처럼 쿼리한번으로 처리하시면 됩니다.
다음 쿼리는 a, b 테이블을 기준으로 a의 해당 필드에 b의 해당필드의 값으로 변경하는데
기준은 a와 b의 wr_id가 동일한것을 기준으로 처리합니다.
업데이트하고자하는 필드를 모두 입력하시면 됩니다.
게시판 두개를 복사해서 간단히 테스트 완료되 쿼리입니다.
update testa a, testb b
set a.wr_subject = b.wr_subject, a.wr_content = b.wr_content
where a.wr_id = b.wr_id;