그누보드5 새글 작성시 parent_id 처리하는 방법
본문
안녕하세요.
그누보드6에서 새글을 작성하는데 parent_id로 오류가 나네요.
찾아보니 댓글작성할때 원글이 필요해서 parent_id 가 필요한걸로 추측이 되는데요 그누보드5에서 새글작성시 parent_id를 어떡해 처리하는지 궁금합니다.
현재는 빈 문자열을 int 로 변환하지 못해서 에러가 발생하고 있는데요
AI에게 물어보니
새글 작성시 parent_id가 아예 전송되지 않게 하거나 빈 문자열을 none으로 처리하는 처리하는 방법을 추천해주는데 그누보드5에서는 어떤 방식으로 처리하고 있는지 궁금합니다.
답변 2
새글에서는 wr_id 와 같은 값으로 처리됩니다.
처음의 Insert 문에서는 처리하지 않고,
Insert 후, sql_insert_id() 로 구해온 wr_id 값으로 update 하는 방식으로 되어 있습니다.
* /bbs/write_update.php
$sql = " insert into $write_table
set wr_num = " . ($w == 'r' ? "'$wr_num'" : "(SELECT IFNULL(MIN(wr_num) - 1, -1) FROM $write_table as sq) ") . ",
wr_reply = '$wr_reply',
wr_comment = 0,
ca_name = '$ca_name',
wr_option = '$wr_option',
wr_subject = '$wr_subject',
wr_content = '$wr_content',
wr_seo_title = '$wr_seo_title',
wr_link1 = '$wr_link1',
wr_link2 = '$wr_link2',
wr_link1_hit = 0,
wr_link2_hit = 0,
wr_hit = 0,
wr_good = 0,
wr_nogood = 0,
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_6 = '$wr_6',
wr_7 = '$wr_7',
wr_8 = '$wr_8',
wr_9 = '$wr_9',
wr_10 = '$wr_10' ";
sql_query($sql);
$wr_id = sql_insert_id();
// 부모 아이디에 UPDATE
sql_query(" update $write_table set wr_parent = '$wr_id' where wr_id = '$wr_id' ");
1. 새글(원글) 등록시 wr_parent 필드에 자동증가값 wr_id를 저장합니다(원글은 wr_id, wr_parent 동일)
2. 댓글 등록시 댓글의 wr_id는 새로운 값이 저장되고 원글의 wr_id값을 wr_parent에 저장합니다
*** 원글의 wr_id를 댓글의 wr_parent에 저장하여 어느 원글의 댓글인지 구분 합니다