채택완료

게시글 복사 - 시즌3 (유유버전)

2016-06-03 (금) 12:50:31 5,031

c게시판(필드 150개) 을 d게시판(필드 150개) 으로 복사해야 해서

move_update.php 에서 늘렸습니다. 

그런데 이제 늘리지 않은 a게시판을 b게시판으로 복사하려니 애러가 나네요

이제 알게 된거지만 당연히 안되는 거더군요,,,이미 move_update.php 에서 늘렸으니 말입니다.

 

그래서 방법이 없을지 질문을 드렸더니

게시글 복사관련 제로나라님께서 이렇게 답변을 주셨는데요,,, 

http://sir.kr/qa/125470?stx=%EB%B3%B5%EC%82%AC&sst=wr_num&page=1&unanswered=0&s_tag= 

현재 사이트 환경상 답변처럼 하기는 무리가 따르네요., 

이어 제윤아빠님께서 

http://sir.kr/qa/125629  

이렇게 답변을 주셨는데

나에 능력상 이해가 어렵네요,,,유유 

혹시 이런 상황에서 적절한 방법이 없을까요?

혹은 쉬운방법 좀 없을까요?

혹시 

a 또는 b 게시판 복사(베이직의 기본 10개필드)일때는 

move_update2.php 내용으로 하라! 이런 식으로 처리해줄 수 없을까요?

가능하다면 move.php의 아래내용을 어떻게 하면 될까요? 

    if (!check) {

        alert('게시물을 '+f.act.value+'할 게시판을 한개 이상 선택해 주십시오.');

        return false;

    }

    document.getElementById('btn_submit').disabled = true;

    f.action = './move_update.php';

    return true;

}

</script>

|

답변 1개 / 댓글 3개

채택된 답변
+20 포인트
2016-06-03 (금) 13:22:38

컬럼이 있는지 확인해 보는건 어떨까요?

Copy
<?php $sql = " SHOW COLUMNS FROM ".$g5['write_prefix'].$bo_table." LIKE 'wr_11' "; //wr_11 이 있는지 확인 $row = sql_fetch($sql);if(empty($row)) { //값이 없을 때  ?>f.action = './move_update.php'; <? } else {?>    f.action = './move_update2.php'; <? } ?>


 그리고

1번 게시판은 wr_10 까지 있고

2번 게시판은 wr_30 까지 있다고 할때

2번게시판에서 1번게시판으로 복사를 하면 wr_20~wr_30 까지 가 날아가게 되니까

헤다 업데이트 페이지 에다가

alter 를 사용해서 추가해도 될 것 같은데요
update page에서 일단 컬럼을 검사하고
Copy
for($i=1; $i<31; $i++){    $sql = " SHOW COLUMNS FROM ".$g5['write_prefix'].$bo_table." LIKE 'wr_".$i."' "; //wr_$i 가 있는지 확인     $row = sql_fetch($sql);    if(empty($row)) {        $wr_pre = "wr_".($i-1);        $sql2 = " ALTER TABLE `".$g5['write_prefix'].$bo_table."` ADD wr_".$i." varchar(255) NOT NULL AFTER `".$wr_pre."`  ";    }}
 

답변에 대한 댓글 3개

2016-06-03 (금) 14:10:42
희망의 불빛이 보이는 거 같습니다~
해볼게요~
번번이 학생님 도움을 받는군요,
2016-06-03 (금) 15:01:07
알려준대로 해보니 복사는 필드10까지 게시판은 정상으로 복사됩니다.
그런데 필드30까지 늘려놓은 게시판도 일단 복사는 되는데...
필드값은 복사가 되지 않네요,,어디를 잘못한 걸까요?
이렇게 햇거든요,
맨위에 말씀해주신 소스는
move.php

<?php
include_once('./_common.php');
~~~
?>
이거 바로 다음에 넣었구요,,


아래에서 언급해주신 소스는

move_update.php의

include_once('./_common.php');

바로 아래에 넣었는데 바르게넣은 걸까요?
$sql2 = " ALTER TABLE `".$g5['write_prefix'].$bo_table."` ADD wr_".$i." varchar(255) NOT NULL AFTER `".$wr_pre."` ";
요녀석 다음에
sql_query($sql2);
를 안적어놨네요 함 적고 해보세요

답변을 작성하려면 로그인이 필요합니다.