a, b 두개시판 자료 동시 입력 정보
a, b 두개시판 자료 동시 입력본문
a와 b 게시판 이 있을때...
a 게시판의 구성항목은
이름
제목
내용
b 게시판의 구성항목은
이름
제목
내용
기타
이런식으로 앞의 항목은 두게시판이 모두 같다고 할때....
a게시판에서 이름, 제목, 내용을 입력하면...
a게시판 뿐 만 아니라, b 게시판의 이름, 제목, 내용에 같은 내용이
입력되게하고 싶은데.. 가능할까요 ? (일종에 a는 원본게시판이고, b는 백업 개념)
가능하다면 어찌하면 될까요 ?
물론, a 게시판은 한번 기록 하면 수정 할수 없도록 할 생각입니다.
a 게시판의 구성항목은
이름
제목
내용
b 게시판의 구성항목은
이름
제목
내용
기타
이런식으로 앞의 항목은 두게시판이 모두 같다고 할때....
a게시판에서 이름, 제목, 내용을 입력하면...
a게시판 뿐 만 아니라, b 게시판의 이름, 제목, 내용에 같은 내용이
입력되게하고 싶은데.. 가능할까요 ? (일종에 a는 원본게시판이고, b는 백업 개념)
가능하다면 어찌하면 될까요 ?
물론, a 게시판은 한번 기록 하면 수정 할수 없도록 할 생각입니다.
댓글 전체

/bbs/write_update.php 파일을 참고하시면 되겠네요.

파일을 참고해서 하나 따로 만드시는게 정석입니다. 거기 보면 sql 문이 신규($w=="")와 수정($w=="u") 두가지가 있을껍니다. 그걸 $write_table 만 강제로 바꿔주신 다음에
반복해야 하는데 두 게시판이 동시에 공백에서 시작하시는 것 혹은 b게시판이 내용이 하나도 없을경우
에 한해서 간단히 해결하는 방법이 있습니다.
a게시판만 사용하는 스킨디렉토리에 write_update.skin.php 를 수정합니다.
하단에 다음을 추가
$target_table= $g4['table_prefix'].$g4['write_prefix']."b테이블명";
sql_query("insert into $target_table select * from $write_table where wr_id='$wr_id'",FALSE);
sql_query("update $g4[board_table] set bo_count_write = bo_count_write + 1 where bo_table = '$target_table'",FALSE);
꼭 wr_id(인덱스) 가 중복되지 않도록 b테이블은 깔끔해야 합니다.
물론 삭제했을경우 같이 삭제되지는 않습니다.,FALSE 부분은 잘안될경우 지우면 에러가 나옵니다.
반복해야 하는데 두 게시판이 동시에 공백에서 시작하시는 것 혹은 b게시판이 내용이 하나도 없을경우
에 한해서 간단히 해결하는 방법이 있습니다.
a게시판만 사용하는 스킨디렉토리에 write_update.skin.php 를 수정합니다.
하단에 다음을 추가
$target_table= $g4['table_prefix'].$g4['write_prefix']."b테이블명";
sql_query("insert into $target_table select * from $write_table where wr_id='$wr_id'",FALSE);
sql_query("update $g4[board_table] set bo_count_write = bo_count_write + 1 where bo_table = '$target_table'",FALSE);
꼭 wr_id(인덱스) 가 중복되지 않도록 b테이블은 깔끔해야 합니다.
물론 삭제했을경우 같이 삭제되지는 않습니다.,FALSE 부분은 잘안될경우 지우면 에러가 나옵니다.
답변 감사합니다.
b 게시판은 공백 게시판이고요.
테이블은 test77 로 줬고...
베이식 게시판(a,b모두 basic스킨)인데요 write.update.skin.php 가 안보여서
알려주신 내용을 기준으로 아래처럼 만들어서 넣었습니다.
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
// 자신만의 코드를 넣어주세요.
$target_table= $g4['table_prefix'].$g4['write_prefix']."test77";
sql_query("insert into $target_table select * from $write_table where wr_id='$wr_id'",FALSE);
sql_query("update $g4[board_table] set bo_count_write = bo_count_write + 1 where bo_table = '$target_table'",FALSE);
?>
그리고 a 게시판에서 하나등록 해밨는데...b 게시판에 암것도 안보여요....
b 게시판은 공백 게시판이고요.
테이블은 test77 로 줬고...
베이식 게시판(a,b모두 basic스킨)인데요 write.update.skin.php 가 안보여서
알려주신 내용을 기준으로 아래처럼 만들어서 넣었습니다.
<?
if (!defined("_GNUBOARD_")) exit; // 개별 페이지 접근 불가
// 자신만의 코드를 넣어주세요.
$target_table= $g4['table_prefix'].$g4['write_prefix']."test77";
sql_query("insert into $target_table select * from $write_table where wr_id='$wr_id'",FALSE);
sql_query("update $g4[board_table] set bo_count_write = bo_count_write + 1 where bo_table = '$target_table'",FALSE);
?>
그리고 a 게시판에서 하나등록 해밨는데...b 게시판에 암것도 안보여요....

일단 a,b게시판 둘다 같은 스킨을 쓰시면 안되고요
a게시판의 스킨은 유일해야 합니다.
그게 어려우시면 bo_table 로 걸러 주셔야 하구요.
그보다는 basic 스킨디렉토리를 통째로 내려받으신후 이름을 바꾸시고 올려서
a만 사용하도록 설정해주시고요.
write_update.skin.php 입니다. 파일명 확인 해주세요.
그리고 쿼리에 문제도 좀 있었네요 흙 ㅠㅠ
다시 알려드릴께요 죄송합니다.
$target_table= $g4['table_prefix'].$g4['write_prefix']."test77";
if($w=="") {
sql_query("insert into $target_table select * from $write_table where wr_id='$wr_id'",FALSE);
sql_query("update $g4[board_table] set bo_count_write = bo_count_write + 1 where bo_table = '$target_table'",FALSE);
}
else if($w=="u") {
sql_query("delete from $target_table where wr_id='$wr_id'");
sql_query("insert into $target_table select * from $write_table where wr_id='$wr_id'",FALSE);
}
a게시판의 스킨은 유일해야 합니다.
그게 어려우시면 bo_table 로 걸러 주셔야 하구요.
그보다는 basic 스킨디렉토리를 통째로 내려받으신후 이름을 바꾸시고 올려서
a만 사용하도록 설정해주시고요.
write_update.skin.php 입니다. 파일명 확인 해주세요.
그리고 쿼리에 문제도 좀 있었네요 흙 ㅠㅠ
다시 알려드릴께요 죄송합니다.
$target_table= $g4['table_prefix'].$g4['write_prefix']."test77";
if($w=="") {
sql_query("insert into $target_table select * from $write_table where wr_id='$wr_id'",FALSE);
sql_query("update $g4[board_table] set bo_count_write = bo_count_write + 1 where bo_table = '$target_table'",FALSE);
}
else if($w=="u") {
sql_query("delete from $target_table where wr_id='$wr_id'");
sql_query("insert into $target_table select * from $write_table where wr_id='$wr_id'",FALSE);
}
알려주신대로 basic게시판을
a는 basic77
b는 basic78 이렇게 주고... 스킨들이나 프로그램은 그누 원본 그대로임.
a basic77 아래, write_update.skin.php 위처럼 만들어 넣었습니다.
증상은 위와 동일하게 암것도 안나옵니다.
a는 basic77
b는 basic78 이렇게 주고... 스킨들이나 프로그램은 그누 원본 그대로임.
a basic77 아래, write_update.skin.php 위처럼 만들어 넣었습니다.
증상은 위와 동일하게 암것도 안나옵니다.

일단 수정을 위에 오류가 있어서 고쳐드렸는데요.(꼼수를 좀 썼습니다. update조인이 좀 취약해서
지운다음에 인서트로 짜보았습니다. ) 수정하는 도중에 이미 해보셨군요.
근데 삽입과정부터 문제가 있으신듯 한데요.
일단 위의 내용으로 교체 해주신 후에 ,FALSE를 제거하신 후에 무슨 에러가 나는지 좀 봐주세요.
제가 그냥 콘솔에서 쿼리 테스트 해보니까 수정한 것은 잘 되는듯한데. 변수 문제일수도 있습니다.
그리고 에러가 안난다면
$target_table= $g4['table_prefix'].$g4['write_prefix']."test77"; <--B게시판명인가도 체크 해주세요.
지운다음에 인서트로 짜보았습니다. ) 수정하는 도중에 이미 해보셨군요.
근데 삽입과정부터 문제가 있으신듯 한데요.
일단 위의 내용으로 교체 해주신 후에 ,FALSE를 제거하신 후에 무슨 에러가 나는지 좀 봐주세요.
제가 그냥 콘솔에서 쿼리 테스트 해보니까 수정한 것은 잘 되는듯한데. 변수 문제일수도 있습니다.
그리고 에러가 안난다면
$target_table= $g4['table_prefix'].$g4['write_prefix']."test77"; <--B게시판명인가도 체크 해주세요.
수정하신 내용과 false 제거후,
insert into g4_g4_write_test77 select * from g4_write_test where wr_id='119'
1146 : Table 'test.g4_g4_write_test77' doesn't exist
error file : /gnuboard4/bbs/write_update.php
로 뜹니다.
a게시판의 테이블은 test
b게시판의 테이블은 test77
둘다 현재 빈게시판 이고요...내용둘다 지웠어요...
insert into g4_g4_write_test77 select * from g4_write_test where wr_id='119'
1146 : Table 'test.g4_g4_write_test77' doesn't exist
error file : /gnuboard4/bbs/write_update.php
로 뜹니다.
a게시판의 테이블은 test
b게시판의 테이블은 test77
둘다 현재 빈게시판 이고요...내용둘다 지웠어요...

아 문제를 알꺼 같아요.
앞에 $g4['table_prefix']. 이부분을 빼야 하네요 제 착각이었습니다. 죄송
지우시면 될꺼 같아요.
앞에 $g4['table_prefix']. 이부분을 빼야 하네요 제 착각이었습니다. 죄송
지우시면 될꺼 같아요.
네, 앞에 지우니깐 됩니다. ㅎㅎ
근데 앞에 글번호 있자나요,,, 원래 원본은 1, 2 이런식으로 붙거든요...
근데 뒤에 인서트한 b에서는 -1 로 나와서 두게시판 모두 지우고 다시 했더니
이번에는 b 게시판은 -2 로 표시 됩니다.
게시판을 둘다 통째로 다시 지우고 해볼께요...
근데 앞에 글번호 있자나요,,, 원래 원본은 1, 2 이런식으로 붙거든요...
근데 뒤에 인서트한 b에서는 -1 로 나와서 두게시판 모두 지우고 다시 했더니
이번에는 b 게시판은 -2 로 표시 됩니다.
게시판을 둘다 통째로 다시 지우고 해볼께요...
다 지우고 다시하니깐 되는데요...
a 게시판은 정상적으로 글번호가 나오는데,
b 게시판은 글한게 지우면 번호가 한개식 - 되는거 같네요...음...
히한하네요...
a 게시판은 정상적으로 글번호가 나오는데,
b 게시판은 글한게 지우면 번호가 한개식 - 되는거 같네요...음...
히한하네요...

테스트중 글번호가 문제가 생길 수 있습니다.
관리자모드에서 게시판 수정모드로 가시면 카운트를 조정합니다 라는 체크박스가 있을꺼예요
누르시고 저장해보세요. 그 뒤로 몇개 테스트 해보신 후 그래도 그런 현상이 생기면 소스를 수정해 드릴께요.
근데 이해는 하고 계신가요 ㅎㅎ;
관리자모드에서 게시판 수정모드로 가시면 카운트를 조정합니다 라는 체크박스가 있을꺼예요
누르시고 저장해보세요. 그 뒤로 몇개 테스트 해보신 후 그래도 그런 현상이 생기면 소스를 수정해 드릴께요.
근데 이해는 하고 계신가요 ㅎㅎ;

제가 사용하던게 있어 조금 수정해 올려봅니다. 수정한거 테스트는 안해봤네요
a게시판 write_upadte.skin.php 에 붙여 넣으세요
bbs/write_update.php 에서 뽑아온겁니다. 원래 용도는 관리자가 회원들 게시물중 선정하여 오늘의추천게시물로 선정해 게시판에 따로 삽입하는걸 만든겁니다.
//새글일때만.
if(!$w){
$adm_board="g4_write_test77";
if ($member[mb_id])
{
$mb_id = $member[mb_id];
$wr_name = $board[bo_use_name] ? $member[mb_name] : $member[mb_nick];
$wr_password = $member[mb_password];
$wr_email = $member[mb_email];
$wr_homepage = $member[mb_homepage];
}
$wr_num_today = get_next_num($adm_board);
$wr_reply = "";
$sql_today = " insert into $adm_board
set wr_num = '$wr_num_today',
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_trackback = '$wr_trackback',
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 = '$g4[time_ymdhis]',
wr_last = '$g4[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_today);
$wr_id_today = mysql_insert_id();
// 부모 아이디에 UPDATE
sql_query(" update $adm_board set wr_parent = '$wr_id_today' where wr_id = '$wr_id_today' ");
// 새글 INSERT
//sql_query(" insert into $g4[board_new_table] ( bo_table, wr_id, wr_parent, bn_datetime ) values ( '$bo_table', '$wr_id', '$wr_id', '$g4[time_ymdhis]' ) ");
// sql_query(" insert into $g4[board_new_table] ( bo_table, wr_id, wr_parent, bn_datetime, mb_id ) values ( '$bo_table', '$wr_id', '$wr_id', '$g4[time_ymdhis]', '$member[mb_id]' ) ");
// 게시글 1 증가
sql_query("update $g4[board_table] set bo_count_write = bo_count_write + 1 where bo_table = 'adm_today'");
}
a게시판 write_upadte.skin.php 에 붙여 넣으세요
bbs/write_update.php 에서 뽑아온겁니다. 원래 용도는 관리자가 회원들 게시물중 선정하여 오늘의추천게시물로 선정해 게시판에 따로 삽입하는걸 만든겁니다.
//새글일때만.
if(!$w){
$adm_board="g4_write_test77";
if ($member[mb_id])
{
$mb_id = $member[mb_id];
$wr_name = $board[bo_use_name] ? $member[mb_name] : $member[mb_nick];
$wr_password = $member[mb_password];
$wr_email = $member[mb_email];
$wr_homepage = $member[mb_homepage];
}
$wr_num_today = get_next_num($adm_board);
$wr_reply = "";
$sql_today = " insert into $adm_board
set wr_num = '$wr_num_today',
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_trackback = '$wr_trackback',
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 = '$g4[time_ymdhis]',
wr_last = '$g4[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_today);
$wr_id_today = mysql_insert_id();
// 부모 아이디에 UPDATE
sql_query(" update $adm_board set wr_parent = '$wr_id_today' where wr_id = '$wr_id_today' ");
// 새글 INSERT
//sql_query(" insert into $g4[board_new_table] ( bo_table, wr_id, wr_parent, bn_datetime ) values ( '$bo_table', '$wr_id', '$wr_id', '$g4[time_ymdhis]' ) ");
// sql_query(" insert into $g4[board_new_table] ( bo_table, wr_id, wr_parent, bn_datetime, mb_id ) values ( '$bo_table', '$wr_id', '$wr_id', '$g4[time_ymdhis]', '$member[mb_id]' ) ");
// 게시글 1 증가
sql_query("update $g4[board_table] set bo_count_write = bo_count_write + 1 where bo_table = 'adm_today'");
}
넵, 이해 됬어요....원래는 한개씩 insert 하여야 한다고 하셨는데, table 전체를 인서트
해주신 거자나요...
그리고, write 업데이트 스킨은 필요할때 마다 해당 내용을 넣어주면 되는거란 것도 알았어요..
네, 카운트조정이 그런뜻이었군요.. 됩니다. ^^
답글 쓰는중에 또 올려 주셨네요...ㅎㅎ 새로 올려주신게 정석인가보네요...
걍 바도 한항목씩 처리하는게 보이네요...
근데 카운트 하니깐 생각난건데, 글번호가 보통은 1번 부터 시작하는데
1000번 이나, 2000번 모 이렇게 시작하거나, 혹은 A,b 가 들어간 a0001 모 이런식으로도
할수 있나요 ?
해주신 거자나요...
그리고, write 업데이트 스킨은 필요할때 마다 해당 내용을 넣어주면 되는거란 것도 알았어요..
네, 카운트조정이 그런뜻이었군요.. 됩니다. ^^
답글 쓰는중에 또 올려 주셨네요...ㅎㅎ 새로 올려주신게 정석인가보네요...
걍 바도 한항목씩 처리하는게 보이네요...
근데 카운트 하니깐 생각난건데, 글번호가 보통은 1번 부터 시작하는데
1000번 이나, 2000번 모 이렇게 시작하거나, 혹은 A,b 가 들어간 a0001 모 이런식으로도
할수 있나요 ?

문자가 들어간건 불가능하지만 앞에 000으로 채우는건 간단합니다.
그치만 1000번부터 시작해봐야 나중에 꼬였을 경우 다시 조정하면 원래대로 되버릴꺼예요.
꼼수는 있습니다. 물론 ㅎㅎ
skinartisanCOM 께서 올려주신게 정석이예요.
저걸로도 연습삼아 해보세요.
그치만 1000번부터 시작해봐야 나중에 꼬였을 경우 다시 조정하면 원래대로 되버릴꺼예요.
꼼수는 있습니다. 물론 ㅎㅎ
skinartisanCOM 께서 올려주신게 정석이예요.
저걸로도 연습삼아 해보세요.
skinartisanCOM 님 감사합니다.
올려주신 소스는, 메가쵸코님께서 말씀하셨던, 한개씩 인서트하는 것 맞죠 ?
해당 소스는 스크랩해서, 귀중한 자료로 쓰겠습니다.
올려주신 소스는, 메가쵸코님께서 말씀하셨던, 한개씩 인서트하는 것 맞죠 ?
해당 소스는 스크랩해서, 귀중한 자료로 쓰겠습니다.
글번호 표시 되는 곳에다 글쓸데마다 1000이나 2000씩 더해서 표시하게 하면 되지 않을까요 ?
ㅎㅎ 걍 잘 모르는 초보의 단순한 생각입니다.
ㅎㅎ 걍 잘 모르는 초보의 단순한 생각입니다.

네 그러셔도 됩니다 리스트에 글번호 부분에 그냥 숫자 더해주면 됩니다. 별의미는 없겠지요.
네, 특별한 의미는 없구요.. 걍 글좀 많아보이라고 ㅜㅜ

감사합니다

잘됩니다.
감사합니다.
감사합니다.