게시판에 글 등록시 다른 게시판에 자동으로 복사하기 관련 문의 드립니다.
본문
안녕하세요.
A라는 게시판에 글이 등록되면,
B라는 게시판에 글이 자동으로 등록되게 하려고 검색해보니,
작은별님의 강좌가 있어서 따라해봤고, 성공했습니다.
https://gnustudy.com/bbs/board.php?bo_table=skin_board&wr_id=166
그런데, 한가지 문제(?)가 있는데,
기존 A게시판에
wr_3을 아래처럼 사용하고 있습니다.
$wr_3 = "$tel1-$tel2-$tel3";
$sql3 = "update $write_table set wr_3 = '$wr_3' where wr_id = '$wr_id' ";
sql_query($sql3);
이때문에 wr_3의 값만 복사가 안되고 있습니다.
아래가 작은별의의 소스인데,
wr_10 = '$wr_10' ";
sql_query($sql_copy);
다음에 위 내용을 넣으면 될까해서 넣어봤지만 여전히 안되더라고요.
어떤식으로 설정해야 하는지 아시는 분 계시면 답변 좀 부탁드립니다.
감사합니다.
<?php
if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가
if ($w =='' && $bo_table =='기존게시판id')
{
$table_copy = "test"; // 복사 게시판id
$write_table_copy = $g5['write_prefix'] . $table_copy;
$wr_num_copy = get_next_num($write_table_copy);
$sql_copy = " insert into $write_table_copy
set wr_num = '$wr_num_copy',
wr_reply = '$wr_reply',
wr_comment = 0,
ca_name = '$ca_name',
wr_option = '$html,$secret,$mail',
wr_subject = '$wr_subject',
wr_content = '$wr_content',
wr_link1 = '$wr_link1',
wr_link2 = '$wr_link2',
wr_link1_hit = 0,
wr_link2_hit = 0,
wr_hit = 0,
wr_good = 0,
wr_nogood = 0,
mb_id = '{$member['mb_id']}',
wr_password = '$wr_password',
wr_name = '$wr_name',
wr_email = '$wr_email',
wr_homepage = '$wr_homepage',
wr_datetime = '".G5_TIME_YMDHIS."',
wr_last = '".G5_TIME_YMDHIS."',
wr_ip = '{$_SERVER['REMOTE_ADDR']}',
wr_1 = '$wr_1',
wr_2 = '$wr_2',
wr_3 = '$wr_3',
wr_4 = '$wr_4',
wr_5 = '$wr_5',
wr_6 = '$wr_6',
wr_7 = '$wr_7',
wr_8 = '$wr_8',
wr_9 = '$wr_9',
wr_10 = '$wr_10' ";
sql_query($sql_copy);
$wr_id_copy = sql_insert_id();
// 부모 아이디에 UPDATE
sql_query(" update $write_table_copy set wr_parent = '$wr_id_copy' where wr_id = '$wr_id_copy' ");
// 새글 INSERT
sql_query(" insert into {$g5['board_new_table']} ( bo_table, wr_id, wr_parent, bn_datetime, mb_id ) values ( '{$table_copy}', '{$wr_id_copy}', '{$wr_id_copy}', '".G5_TIME_YMDHIS."', '{$member['mb_id']}' ) ");
// 게시글 1 증가
sql_query("update {$g5['board_table']} set bo_count_write = bo_count_write + 1 where bo_table = '{$table_copy}'");
// 복사게시판 최신글 캐시갱신
delete_cache_latest($table_copy);
}
?>
답변 1
$wr_3 관련 처리는 write_update.head.skin.php 파일에서 해주는 것이 더 좋습니다.
write_update.head.skin.php 에서 변수처리가 되면,
/bbs/write_update.php 에서 해당 $wr_3 값으로 DB 저장이 되고..
write_update.skin.php 에서도 동일하게 적용됩니다.
1. write_update.head.skin.php 파일을 생성합니다.
2. 다음의 내용을 추가합니다.
<?php
if (!defined('_GNUBOARD_')) exit;
$wr_3 = "$tel1-$tel2-$tel3";