2026, 새로운 도약을 시작합니다.

게시물 코멘트 등록함수

이전에 작성한 게시판 파싱후 글등록 처리 함수  에 연결된 팁입니다.

코멘트 등록함수 입니다. 작성자 아이디와, 작성자 이름이 unknown 으로 들어갑니다.

특정 사용자로 작성자를 지정할려면 함수 호출시 파라메타로 넘겨주세요.

[code]


/**
 * 그누보드 게시물 코멘트 등록 함수.
 * 그누보드의 게시판 코멘트 등록파일(write_comment_update.php) 로직을 참고하였습니다.
 * depth 처리는 없습니다. 0단계만 적용
 * @param $bo_table 게시판판명 ex)humor
 * @param $wr_id 게시물 번호
 * @param $wr_content 코멘트 내용
 * @param string $mb_id 코멘트 작성자 아이디
 * @param string $wr_name 코멘트 작성자명
 * @return int|string  등록완료시 등록된 코멘트아이디, 코멘트 등록실패시 0
 */
function board_comment_write($bo_table, $wr_id, $wr_content, $mb_id="", $wr_name = "") {
    global $g5, $config;

    $write_table = "g5_write_{$bo_table}";

    if(!$mb_id)  $mb_id = "unknown";
    if(!$wr_name) $wr_name = "unknown";

    $wr_email = "";


    $wr = get_write($write_table, $wr_id);


    if (empty($wr['wr_id'])) {
        return 0;
    }

    // 090710
    if (substr_count($wr_content, "&#") > 50) {
        return 0;
    }

    $sql = " select max(wr_comment) as max_comment from $write_table
                    where wr_parent = '$wr_id' and wr_is_comment = 1 ";
    $row = sql_fetch($sql);
    //$row[max_comment] -= 1;
    $row['max_comment'] += 1;
    $tmp_comment = $row['max_comment'];
    $tmp_comment_reply = '';

    $sql = " insert into $write_table
                set ca_name = '{$wr['ca_name']}',
                     wr_option = '',
                     wr_num = '{$wr['wr_num']}',
                     wr_reply = '',
                     wr_parent = '$wr_id',
                     wr_is_comment = 1,
                     wr_comment = '$tmp_comment',
                     wr_comment_reply = '$tmp_comment_reply',
                     wr_subject = '',
                     wr_content = '$wr_content',
                     mb_id = '$mb_id',
                     wr_password = '',
                     wr_name = '$wr_name',
                     wr_email = '$wr_email',
                     wr_datetime = '".G5_TIME_YMDHIS."',
                     wr_last = '',
                     wr_ip = '0.0.0.0'
                    ";

    sql_query($sql);

    $comment_id = sql_insert_id();


    // 원글에 댓글수 증가 & 마지막 시간 반영
    sql_query(" update $write_table set wr_comment = wr_comment + 1, wr_last = '".G5_TIME_YMDHIS."' where wr_id = '$wr_id' ");

    // 새글 INSERT
    sql_query(" insert into {$g5['board_new_table']} ( bo_table, wr_id, wr_parent, bn_datetime, mb_id ) values ( '$bo_table', '$comment_id', '$wr_id', '".G5_TIME_YMDHIS."', '{$member['mb_id']}' ) ");

    // 댓글 1 증가
    sql_query(" update {$g5['board_table']} set bo_count_comment = bo_count_comment + 1 where bo_table = '$bo_table' ");

    delete_cache_latest($bo_table);

    return $comment_id;

}
[/code]

함수 호출 예제

[code]


$comment = "테스트입니다. time : ".date("H:m:s");
$comment_id = board_comment_write("humor", 100, $comment);

echo $comment. " , comment_id = $comment_id <br>";

[/code]

|

댓글 5개

유익한 정보 감사합니다.
늦었지만 감사드려요 ^-^
추천 꾹 누르고 갈게요오~!
안녕하세요! 좋은 코드 너무 감사드립니다! 궁금한 점이 있어요. 데이터를 크롤링하여 게시글에 저장하는 함수를 만들고 있습니다. 이 때 작성한 파이썬 코드파일을 그누보드에 실행하려면 주피터 노트북에서는 불가능하겠죠..? FTP로 해당 코드파일을 전송한 다음에 실행시켜야 하는건가요..? 그누보드가 처음이라 실행 방법을 모르겠습니다..ㅠㅠ

댓글 작성

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

로그인하기

그누보드5 팁자료실

번호 제목 글쓴이 날짜 조회
공지 3년 전 조회 4,599
2741 4일 전 조회 130
2740 5일 전 조회 113
2739 1주 전 조회 217
2738 1주 전 조회 221
2737 1주 전 조회 185
2736 2주 전 조회 285
2735 3주 전 조회 290
2734 3주 전 조회 265
2733 1개월 전 조회 267
2732 1개월 전 조회 303
2731 1개월 전 조회 270
2730 1개월 전 조회 229
2729 1개월 전 조회 362
2728 1개월 전 조회 248
2727 1개월 전 조회 422
2726 1개월 전 조회 260
2725 1개월 전 조회 332
2724 1개월 전 조회 364
2723 1개월 전 조회 267
2722 1개월 전 조회 301
2721 1개월 전 조회 214
2720 2개월 전 조회 304
2719 2개월 전 조회 314
2718 2개월 전 조회 203
2717 2개월 전 조회 337
2716 2개월 전 조회 204
2715 2개월 전 조회 315
2714 2개월 전 조회 273
2713 2개월 전 조회 378
2712 2개월 전 조회 292
🐛 버그신고