테스트 사이트 - 개발 중인 베타 버전입니다

마지막 1%에서 막히네요 채택완료

sIr어드민 3년 전 조회 3,126

게시글 자유롭게 복사하기 위해

g4->g5업그레이드를 참고해서

아래처럼 만들었습니다.

 

잘되는데요,, write_table의 wr_id와 wr_parent값이 그대로 들어가버립니다.

$write_table = "g5_write_aaa";

타켓 테이블은

$move_write_table = "g5_write_bbb";

입니다.

 

1)어떻게 하면 g5_write_bbb의 다음글의 값으로  wr_id와 wr_parent값이 들어갈까요?

2)복사할 때 댓글은 여러개라도 1개만 붙이는데 기존 wr_content 내용은 지우고  

00시에 복사되었습니다.라고 들어가게 할 까요? 

 

--------------------------------------------------------------

</p>

<p>    if(sql_query($sql, FALSE)) {

        $write_table = "g5_write_aaa";

        $columns2 = sql_field_names($move_write_table);

        $sql3 = " select * from $write_table where wr_num = '$wr_num' and  wr_is_comment=0 order by wr_parent, wr_comment desc, wr_id ";</p>

<p>        $result3 = sql_query($sql3);</p>

<p>        for($k=0; $row3=sql_fetch_array($result3); $k++) {

            if($is_euckr)

                $row3 = array_map('iconv_utf8', $row3);</p>

<p>            $comma3 = '';

            $sql_common3 = '';</p>

<p>            foreach($row3 as $key=>$val) {

                if(!in_array($key, $columns2))

                    continue;</p>

<p>                $sql_common3 .= $comma3 . " $key = '".addslashes($val)."' ";</p>

<p>                $comma3 = ',';

            }</p>

<p>

            sql_query(" INSERT INTO $move_write_table SET $sql_common3 ");

        }</p>

<p>

    }</p>

<p>

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

답변 2개

채택된 답변
+20 포인트
3년 전

</p>

<p>$bo_table = 'bbb';</p>

<p>$wr_num = get_next_num(<span class="token interpolation"><span class="token variable">$move_write_table</span></span>);</p>

<p><span class="token keyword keyword-foreach">foreach</span><span class="token punctuation">(</span><span class="token variable">$row3</span> <span class="token keyword keyword-as">as</span> <span class="token variable">$key</span><span class="token operator">=</span><span class="token operator">></span><span class="token variable">$val</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>

        <span class="token keyword keyword-if">if</span><span class="token punctuation">(</span><span class="token operator">!</span><span class="token function">in_array</span><span class="token punctuation">(</span><span class="token variable">$key</span><span class="token punctuation">,</span> <span class="token variable">$columns2</span><span class="token punctuation">)</span><span class="token punctuation">)</span> <span class="token keyword keyword-continue">continue</span><span class="token punctuation">;</span></p>

<p><span class="token punctuation">        if($key=='wr_id' || $key=='wr_parent) continue;</span></p>

<p><span class="token punctuation">        if($key=='wr_num') $val = $wr_num;</span>

        <span class="token variable">$sql_common3</span> <span class="token punctuation">.</span><span class="token operator">=</span> <span class="token variable">$comma3</span> <span class="token punctuation">.</span> <span class="token double-quoted-string string">" <span class="token interpolation"><span class="token variable">$key</span></span> = '"</span><span class="token punctuation">.</span><span class="token function">addslashes</span><span class="token punctuation">(</span><span class="token variable">$val</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token double-quoted-string string">"' "</span><span class="token punctuation">;</span>

        <span class="token variable">$comma3</span> <span class="token operator">=</span> <span class="token single-quoted-string string">','</span><span class="token punctuation">;</span>

  <span class="token punctuation">}</span></p>

<p>    <span class="token function">sql_query</span><span class="token punctuation">(</span><span class="token double-quoted-string string">" INSERT INTO <span class="token interpolation"><span class="token variable">$move_write_table</span></span> SET <span class="token interpolation"><span class="token variable">$sql_common3</span></span> "</span><span class="token punctuation">)</span><span class="token punctuation">;</span></p>

<p>    $wr_id = sql_insert_id();</p>

<p>     sql_query(" update <span class="token interpolation"><span class="token variable">$move_write_table</span></span> set wr_parent = '$wr_id' where wr_id = '$wr_id' ");</p>

<p>    sql_query("update {$g5['board_table']} set bo_count_write = bo_count_write + 1 where bo_table = '{$bo_table}'");</p>

<p> </p>

<p>2번은 무슨 말인가요? 댓글이 있으면 댓글 내용을 복사되었다는 내용으로 바꾼다?</p>

<p>쿼리문에  wr_is_comment=0을 넣은 것은 원글만 추출하는 것인데 댓글은 어떻게 한다는 것인가요?</p>

<p>그리고 댓글이 없는 게시물은 복사되었다는 내용은 없는 건가요?</p>

<p>

 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

s
sIr어드민
3년 전
감사합니다. 이제 99.8% 됐습니다.ㅋ 0.2%가 남아서 질문올렸습니다. ㅜㅜ

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

플라이
3년 전

1) 적용하는글의 값을 가지고와서 글 등록하는 write_update.php 를 참고해서 다음글로 인지되도록 적용하셔야 하며

2)복사하고자 하는 게시글의 wr_id값을 가지고 있따면 그 기준에 wr_content 컬럼에 update 반영해 주시면 됩니다.

로그인 후 평가할 수 있습니다

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

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

로그인