댓글 입력시, WR_1 (여분필드로 저장되도록)
본문
안녕하세요.
코딩/HTML등 초보 개발자입니다...
그누5 개시판의 원글에 댓글을 달았을 경우
(순정방식) 신규 wr_id로 생성후 wr_content 값에 내용을 저장하는 순정방식 말고,
(희망하는 방식) 원글 wr_id와 동일한값에서 WR_1 (여분필드)에 댓글이 저장되게 할 수 있나요?
원래 그누보드5는 댓글/답변 등을 달면 wr_id / wr_num등이 신규로 부여되면서 새로운 sql 필드가 생성되는데요....
신규 필드(wr_id)를 생성하지 않고, 원본글과 동일한 wr_id의 wr_1(여분필드)에 댓글내용을 넣고 싶습니다.
가능할까요?
** Python으로 자동 게시글코드를 짰는데,
댓글이 달리는경우, Duplicated wr_id 이슈로 어려움을 겪고 있습니다... 그래서 댓글 입력시에도 신규wr_id를 생성하지 않도록 하기 위함입니다.
답변 1
아래의 코드를 한번 참고해 보시겠어요
// 기존 코드를 주석 처리하고 새로운 로직 추가
/*
$sql = " insert into $write_table
set wr_id = '$comment_id',
wr_parent = '$wr_id',
wr_content = '$wr_content',
mb_id = '{$member['mb_id']}',
wr_password = '$wr_password',
wr_name = '$wr_name',
wr_email = '$wr_email',
wr_homepage = '$wr_homepage',
wr_datetime = '".G5_TIME_YMDHIS."',
wr_last = '".G5_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_option = '$wr_option' ";
sql_query($sql);
*/
// 새로운 로직: wr_1 필드에 댓글 추가
$sql = " SELECT wr_1 FROM $write_table WHERE wr_id = '$wr_id' ";
$row = sql_fetch($sql);
$current_comments = $row['wr_1'];
$new_comment = array(
'content' => $wr_content,
'mb_id' => $member['mb_id'],
'datetime' => G5_TIME_YMDHIS,
'ip' => $_SERVER['REMOTE_ADDR']
);
$comments_array = $current_comments ? json_decode($current_comments, true) : array();
$comments_array[] = $new_comment;
$updated_comments = json_encode($comments_array);
$sql = " UPDATE $write_table
SET wr_1 = '".sql_real_escape_string($updated_comments)."'
WHERE wr_id = '$wr_id' ";
sql_query($sql);