테스트 사이트 - 개발 중인 베타 버전입니다

추천 받으면 포인트 지급 기능 채택완료

tw0 2년 전 조회 1,958

https://gnustudy.com/bbs/board.php?bo_table=skin_board&wr_id=274

이글을 참고해서 추천을 누르면 글쓴이에게 포인트를 지급합니다.

 

그런데, 추천수가 2부터는 포인트가 지급되지 않습니다

(즉, 글 하나에 추천수가 여러개더라도 포인트는 1번만 지급됩니다.)

 

어떻게 해결해야 할까요?

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

답변 3개

채택된 답변
+20 포인트
2년 전

아래처럼 여러번 지급이 가능하게 수정해 보는거 어떠실까요?

 

// 글 작성자에게 포인트 지급
add_event('bbs_increase_good_json', 'good_insert_point', 10, 3);

function good_insert_point($bo_table, $wr_id, $good)
{
    global $g5, $member;

    $point = 200; // 추천포인트

    if ($good == 'good') {
        $tmp_write_table = $g5['write_prefix'] . $bo_table;
        $mb = sql_fetch("SELECT mb_id, wr_good FROM {$tmp_write_table} WHERE wr_id = '$wr_id'");
        $wr_good = unserialize($mb['wr_good']);

        if (!is_array($wr_good)) {
            $wr_good = array();
        }

        if (!in_array($member['mb_id'], $wr_good)) {
            $wr_good[] = $member['mb_id'];

            // 추천수 업데이트
            sql_query("UPDATE {$tmp_write_table} SET wr_good = '".serialize($wr_good)."' WHERE wr_id = '$wr_id'");

            // 포인트 지급
            insert_point($mb['mb_id'], $point, $member['mb_nick'].'님이 추천', $bo_table, $wr_id, '추천');
        }
    }
}
 

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

t
tw0
2년 전
이 코드로 바꾸니까 추천수가 올라가질 않습니다. 추천버튼에 숫자가 안떠요....
이렇게 되니 고쳐졌는지 안고쳐졌는지 모르겠습니다.

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

2년 전

관련 팁 내용 수정해놨습니다. 여기만 이렇게 바꾸면 될 것 같네요.

마지막 부분 '추천' 이 '추천-'.$member['mb_id'] 이렇게 변경되었습니다.

 

insert_point($mb['mb_id'], $point, $member['mb_nick'].'님이 추천', $bo_table, $wr_id, '추천-'.$member['mb_id']);

로그인 후 평가할 수 있습니다

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

2년 전

맨끝 추천이 아마 고유일텐데 저 부분을 게시판명 글번호와 추천수등으로 해서 계속 고유번호를 가질수 있게 처리해주시면 될거 같습니다.

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

t
tw0
2년 전
무슨말인지 잘 이해가 안가서... 혹시 코드로 적어주실수 있나요?

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

답변을 작성하려면 로그인이 필요합니다.

로그인