♡코멩트 관련 질뭉드립니다♡시즌2 채택완료
아,,이게 사연이 좀 있습니다. 유유
그러니까
글 복사시 피복사글 내용에 ~~님에 의해 복사되었습니다. 이걸
피복사글의 댓글(복사자 명의)로 남게 하려고 했는데 http://sir.kr/bbs/profile.php?mb_id=google_h28epxzg" class="sv_member" title="HyeonPark 자기소개" target="_blank" style="color: rgb(0, 0, 0); text-decoration: none; font-family: 돋움, Dotum, sans-serif; font-size: 12px; line-height: normal;">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 { $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']) { 사진은 찌거기로 남아있는 코멩트입니다. 
답변 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 ";
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
진심으로 감사합니다. 번번히 도움만 받는군요.