그누보드
[팁]
펌) [10원짜리 팁] 게시판 합치기
하우코드
본문
A, B 두개의 게시판을 하나로 합치고 싶은 경우
선택복사 또는 선택이동을 이용해서 할 수도 있지만 이 방법은 게시물이 많은 경우 많은 시간이 필요합니다
단번에 합치는 코드 입니다(첨부화일도 복사합니다)
실행한 후 합쳐진 게시판의 게시판 관리에서 카운트 조정을 한번 해주면 됩니다
testB 게시판 내용을 testA 게시판으로 합치는 예제입니다
합친 후 B게시판은 삭제하던지 지지고 볶던지 맘대로 하시면 됩니다
첨부화일 복사 후 B게시판에서 삭제하려면 unlink 주석풀어서 사용
<?
include "_common.php";
$bo_tableA="testA;
$bo_tableB="testB";
$write_tableA=$g4[write_prefix].$bo_tableA;
$write_tableB=$g4[write_prefix].$bo_tableB;
sql_query("lock tables $write_tableA write,$write_tableB write ", false);
$row=sql_fetch("select max(wr_id) as cnt from $write_tableA");
$plusCnt= $row[cnt] + 100;
echo $write_tableB.'==>'.$write_tableA.'<p>';
echo "<hr>";
sql_query("INSERT INTO $write_tableA (wr_id ,wr_num, wr_reply, wr_parent ,wr_is_comment, wr_comment ,wr_comment_reply ,ca_name,wr_option,wr_subject,wr_content,wr_link1,wr_link2,wr_link1_hit,wr_link2_hit,wr_trackback,wr_hit,wr_good,wr_nogood,mb_id,wr_password,wr_name,wr_email,wr_homepage,wr_datetime,wr_last,wr_ip,wr_1,wr_2,wr_3,wr_4,wr_5,wr_6,wr_7,wr_8,wr_9,wr_10 )
select wr_id+$plusCnt, wr_num-$plusCnt,wr_reply, wr_parent+$plusCnt,wr_is_comment,wr_comment,wr_comment_reply,ca_name,wr_option,wr_subject,wr_content,wr_link1,wr_link2,wr_link1_hit,wr_link2_hit,wr_trackback,wr_hit,wr_good,wr_nogood,mb_id,wr_password,wr_name,wr_email,wr_homepage,wr_datetime,wr_last,wr_ip,wr_1,wr_2,wr_3,wr_4,wr_5,wr_6,wr_7,wr_8,wr_9,wr_10 from $write_tableB ");
sql_query(" unlock tables ", false);
$filePathA=$g4[path].'/data/file/'.$bo_tableA;
$filePathB=$g4[path].'/data/file/'.$bo_tableB;
$dir=@opendir($filePathB);
while($file=readdir($dir)) {
if ($file=='.' || $file=='..') continue;
echo 'file copy : '.$file.'<br>';
@copy($filePathB.'/'.$file, $filePathA.'/'.$file);
// @unlink($filePathB.'/'.$file); 주석풀면 삭제
}
sql_query("update $g4[board_file_table] set bo_table='$bo_tableA', wr_id = wr_id + $plusCnt where bo_table='$bo_tableB'");
?>
<hr>
OK
선택복사 또는 선택이동을 이용해서 할 수도 있지만 이 방법은 게시물이 많은 경우 많은 시간이 필요합니다
단번에 합치는 코드 입니다(첨부화일도 복사합니다)
실행한 후 합쳐진 게시판의 게시판 관리에서 카운트 조정을 한번 해주면 됩니다
testB 게시판 내용을 testA 게시판으로 합치는 예제입니다
합친 후 B게시판은 삭제하던지 지지고 볶던지 맘대로 하시면 됩니다
첨부화일 복사 후 B게시판에서 삭제하려면 unlink 주석풀어서 사용
<?
include "_common.php";
$bo_tableA="testA;
$bo_tableB="testB";
$write_tableA=$g4[write_prefix].$bo_tableA;
$write_tableB=$g4[write_prefix].$bo_tableB;
sql_query("lock tables $write_tableA write,$write_tableB write ", false);
$row=sql_fetch("select max(wr_id) as cnt from $write_tableA");
$plusCnt= $row[cnt] + 100;
echo $write_tableB.'==>'.$write_tableA.'<p>';
echo "<hr>";
sql_query("INSERT INTO $write_tableA (wr_id ,wr_num, wr_reply, wr_parent ,wr_is_comment, wr_comment ,wr_comment_reply ,ca_name,wr_option,wr_subject,wr_content,wr_link1,wr_link2,wr_link1_hit,wr_link2_hit,wr_trackback,wr_hit,wr_good,wr_nogood,mb_id,wr_password,wr_name,wr_email,wr_homepage,wr_datetime,wr_last,wr_ip,wr_1,wr_2,wr_3,wr_4,wr_5,wr_6,wr_7,wr_8,wr_9,wr_10 )
select wr_id+$plusCnt, wr_num-$plusCnt,wr_reply, wr_parent+$plusCnt,wr_is_comment,wr_comment,wr_comment_reply,ca_name,wr_option,wr_subject,wr_content,wr_link1,wr_link2,wr_link1_hit,wr_link2_hit,wr_trackback,wr_hit,wr_good,wr_nogood,mb_id,wr_password,wr_name,wr_email,wr_homepage,wr_datetime,wr_last,wr_ip,wr_1,wr_2,wr_3,wr_4,wr_5,wr_6,wr_7,wr_8,wr_9,wr_10 from $write_tableB ");
sql_query(" unlock tables ", false);
$filePathA=$g4[path].'/data/file/'.$bo_tableA;
$filePathB=$g4[path].'/data/file/'.$bo_tableB;
$dir=@opendir($filePathB);
while($file=readdir($dir)) {
if ($file=='.' || $file=='..') continue;
echo 'file copy : '.$file.'<br>';
@copy($filePathB.'/'.$file, $filePathA.'/'.$file);
// @unlink($filePathB.'/'.$file); 주석풀면 삭제
}
sql_query("update $g4[board_file_table] set bo_table='$bo_tableA', wr_id = wr_id + $plusCnt where bo_table='$bo_tableB'");
?>
<hr>
OK
첨부파일
- boardcopy.php (1.6K) 0회 다운로드 | DATE : 2022-08-11 02:44:06
관련링크
댓글목록
등록된 댓글이 없습니다.