♡코멩트 관련 질뭉드립니다♡시즌2

♡코멩트 관련 질뭉드립니다♡시즌2

QA

♡코멩트 관련 질뭉드립니다♡시즌2

본문

아,,이게 사연이 좀 있습니다. 유유

그러니까 

 

글 복사시 피복사글 내용에 ~~님에 의해 복사되었습니다. 이걸

 

피복사글의 댓글(복사자 명의)로 남게 하려고 했는데 HyeonPark 님의 많은 도움으로 해결했습니다. 정말 감사합니다.

여기까지는 잘 되었습니다. ㅎ

 

그런데 복사시 코멘트도 같이 따라오는데 코멘트는 필요가 없어 

질뭉을 드렸더니 열린이글님이 또 도움을 주셨습니다. 

 

이제 흠이 없을 정도로 완벽하게 처리되었습니다.

 

복사하면 피복사글의 코멩트에 "복사자 명의"로  "~님에 의해 복사되었습니다." 

기존의 코멩트도 따라오지 않습니다.

원하는대로 다 되었습니다.

 

그런데 이글을 다시 c게시판에 복사하면

이때는 코멩트가 다시 살아나서 따라다닙니다. 종교로 치자면 코멩트의 부활입니다. 미치켓습니다. 왜 그런건지..

복사된 글을 삭제하면 삭제되는데...

디비에는 그 글의 코멩트가 남아있습니다.

결론은 최초에 복사할때 보이지만 않을뿐 코멩트가 따라왔다는 얘기 같습니다.

 

소스에 버그가 있는거 같은데..

 

복사시에 코멘트는 따라오지 않게 하려면

어디가 잘못된 거고 어떻게 고쳐야 할까요??

유유

 

move_update.php입니다. 길긴하지만 뭐가 문제인지 몰라 통채로 올려보겠습니다.

수정된 부분은 빨간색입니다.

 

 

 

// 게시판 관리자 이상 복사, 이동 가능

생략

 

$sql = " select distinct wr_num from $write_table where wr_id in ({$wr_id_list}) order by wr_id "; 

$result = sql_query($sql);

while ($row = sql_fetch_array($result))

{

    $wr_num = $row['wr_num'];

    for ($i=0; $i<count($_POST['chk_bo_table']); $i++)

    {

        $move_bo_table = $_POST['chk_bo_table'][$i];

        $move_write_table = $g5['write_prefix'] . $move_bo_table;

 

        $src_dir = G5_DATA_PATH.'/file/'.$bo_table; // 원본 디렉토리

        $dst_dir = G5_DATA_PATH.'/file/'.$move_bo_table; // 복사본 디렉토리

 

        $count_write = 0;

        $count_comment = 0;

 

        $next_wr_num = get_next_num($move_write_table);

 

        $sql2 = " select * from $write_table where wr_num = '$wr_num' order by wr_parent, wr_is_comment=0, wr_comment desc, wr_id ";

        $result2 = sql_query($sql2);

        while ($row2 = sql_fetch_array($result2))

        {

            $nick = cut_str($member['mb_nick'], $config['cf_cut_name']);

            if (!$row2['wr_is_comment'] && $config['cf_use_copy_log']) {

                $move_message = '[이 게시물은 '.$nick.'님에 의해 '.G5_TIME_YMDHIS.' 에 '.($sw == 'copy' ? '복사' : '이동').' 됨]';

            }

 

            $sql = " insert into $move_write_table

                        set wr_num = '$next_wr_num',

                             wr_reply = '{$row2['wr_reply']}',

                             wr_is_comment = '{$row2['wr_is_comment']}',

                             wr_comment = '{$row2['wr_comment']}',

                             wr_comment_reply = '{$row2['wr_comment_reply']}',

                             ca_name = '".addslashes($row2['ca_name'])."',

                             wr_option = '{$row2['wr_option']}',

                             wr_subject = '".addslashes($row2['wr_subject'])."',

                             wr_content = '".addslashes($row2['wr_content'])."',

                             wr_link1 = '".addslashes($row2['wr_link1'])."',

                             wr_link2 = '".addslashes($row2['wr_link2'])."',

                             wr_link1_hit = '{$row2['wr_link1_hit']}',

                             wr_link2_hit = '{$row2['wr_link2_hit']}',

                             wr_hit = '{$row2['wr_hit']}',

   wr_good           = '{$row2['wr_good']}',   

                            wr_nogood         = '{$row2['wr_nogood']}',  

                             mb_id = '{$row2['mb_id']}',

                             wr_password = '{$row2['wr_password']}',

                             wr_name = '".addslashes($row2['wr_name'])."',

                             wr_email = '".addslashes($row2['wr_email'])."',

                             wr_homepage = '".addslashes($row2['wr_homepage'])."',

                             wr_datetime = '{$row2['wr_datetime']}',

                             wr_file = '{$row2['wr_file']}',

                             wr_last = '{$row2['wr_last']}',

                             wr_ip = '{$row2['wr_ip']}',

                             wr_1 = '".addslashes($row2['wr_1'])."',

                             wr_2 = '".addslashes($row2['wr_2'])."',

                             wr_3 = '".addslashes($row2['wr_3'])."',

                             wr_4 = '".addslashes($row2['wr_4'])."',

                             wr_5 = '".addslashes($row2['wr_5'])."',

                             wr_6 = '".addslashes($row2['wr_6'])."',

                             wr_7 = '".addslashes($row2['wr_7'])."',

                             wr_8 = '".addslashes($row2['wr_8'])."',

                             wr_9 = '".addslashes($row2['wr_9'])."',

                             wr_10 = '".addslashes($row2['wr_10'])."' "; 

 

 

            sql_query($sql);

 

            $insert_id = sql_insert_id();

$sub_sql = " select max(wr_comment) as max_comment from $move_write_table where wr_parent = '{$insert_id}' and wr_is_comment = 1 "; 

$sub_row = sql_fetch($sub_sql); 

$sub_row['max_comment'] += 1; 

$tmp_comment = $sub_row['max_comment']; 

$tmp_comment_reply = ''; 

 

$wr_subject = get_text(stripslashes($row2['wr_subject'])); 

 //$wr_content를 $move_message로 바꿈 

   

$sql = " insert into $move_write_table 

set ca_name = '{$row2['ca_name']}', 

 wr_option = '$wr_secret', 

 wr_num = '{$next_wr_num}', 

 wr_reply = '', 

 wr_parent = '{$insert_id}', 

 wr_is_comment = 1, 

 wr_comment = '$tmp_comment',  

                  wr_comment_reply = '$tmp_comment_reply',

 wr_subject = '', 

 wr_content = '$move_message',  

 mb_id = '{$member['mb_id']}', 

 wr_password = '{$row2['wr_password']}', 

 wr_name = '$nick', 

 wr_email = '{$row2['wr_email']}', 

 wr_homepage = '{$row2['wr_homepage']}', 

 wr_datetime = '".G5_TIME_YMDHIS."', 

 wr_last = '', 

 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); 

 

$comment_id = mysql_insert_id(); 

 

// 원글에 댓글수 증가 & 마지막 시간 반영 

sql_query(" update $move_write_table set wr_comment = wr_comment + 1, wr_last = '".G5_TIME_YMDHIS."' where wr_id = '{$insert_id}' "); 

// 새글 INSERT 

sql_query(" insert into {$g5['board_new_table']} ( bo_table, wr_id, wr_parent, bn_datetime, mb_id ) values ( '{$move_bo_table}', '{$comment_id}', '{$insert_id}', '".G5_TIME_YMDHIS."', '{$row2['mb_id']}' ) "); 

// 댓글 1 증가 

sql_query(" update {$g5['board_table']} set bo_count_comment = bo_count_comment + 1 where bo_table = '$move_bo_table' "); 

 

  

            // 코멘트가 아니라면 이하생략

            if (!$row2['wr_is_comment'])

            {

 

사진은 찌거기로 남아있는 코멩트입니다.

 

4b6c553ae9a3902da1561cf0fe93d3aa_1468961809_0501.gif
 

이 질문에 댓글 쓰기 :

답변 2

$sql2 = " select * from $write_table where wr_num = '$wr_num' order by wr_parent, wr_is_comment=0, wr_comment desc, wr_id ";

 

위 이부분에서

wr_is_comment=0 이 order by 절에서 where절로 옮겨져야 겟는데요

$sql2 = " select * from $write_table where wr_num = '$wr_num' and  (wr_is_comment = 0 or wr_is_comment = '' ) order by wr_parent, wr_comment desc, wr_id ";

 

뭐하러 저렇게 코멘트를 기록하고 그러는지 모르겠군요

그냥 복사/이동시 여분필드 wr_1에  이동(복사)/닉네임/시각 <--이렇게 등록 되도록 추가하고

출력시 wr_1 값이 있으면 문장을 만들어 출력 시켜주면 디비에 팔요없이 레코드가 늘지도 않고 좋을텐데요

 

답변을 작성하시기 전에 로그인 해주세요.
전체 10,628
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT