동영상 강좌는 유튜브 채널 '웹학교'를 이용하시기 바랍니다.
글 내용에 대해 '추천', '비추천'을 사용할 수 있을 때 사용되는 파일입니다.
위치 : /bbs
관리자 > 게시판관리 개별 게시판 설정에서 '추천', '비추천'을 사용으로 선택했을때 사용자가 특정 글을 클릭하면 글 내용 하단에 엄지 손가락 모양의 '추천', '비추천'을 할 수 있는 버튼이 나옵니다.
해당 버튼을 클릭하면 good.php이 호출되어 처리하게 됩니다.
코드량은 많아 보이는데 자바스크립트로 처리할 경우와 php로 처리할 경우가 중복됩니다.
사용자가 브라우저에서 자바스크립트를 차단했을 경우 php로 처리가 됩니다.
추천/비추천 기능은 회원만 가능합니다.
추천/비추천 기능은 자신의 글에는 할 수 없습니다.
중복된 추천은 안됩니다.
$sql = " select bg_flag from {$g5['board_good_table']}
where bo_table = '{$bo_table}'
and wr_id = '{$wr_id}'
and mb_id = '{$member['mb_id']}'
and bg_flag in ('good', 'nogood') ";
$row = sql_fetch($sql);
중복되지 않을 경우 카운트 증가 및 입력을 합니다.
// 추천(찬성), 비추천(반대) 카운트 증가
sql_query(" update {$g5['write_prefix']}{$bo_table} set wr_{$good} = wr_{$good} + 1 where wr_id = '{$wr_id}' ");
// 내역 생성
sql_query(" insert {$g5['board_good_table']} set bo_table = '{$bo_table}', wr_id = '{$wr_id}', mb_id = '{$member['mb_id']}', bg_flag = '{$good}', bg_datetime = '".G5_TIME_YMDHIS."' ");
$sql = " select wr_{$good} as count from {$g5['write_prefix']}{$bo_table} where wr_id = '$wr_id' ";
$row = sql_fetch($sql);
글보기 스킨 화일에 나오는 추천/비추천과 관련한 자바스크립트 코드는 아래와 같습니다.
// 추천, 비추천
$("#good_button, #nogood_button").click(function() {
var $tx;
if(this.id == "good_button")
$tx = $("#bo_v_act_good");
else
$tx = $("#bo_v_act_nogood");
excute_good(this.href, $(this), $tx);
return false;
});
function excute_good(href, $el, $tx)
{
$.post(
href,
{ js: "on" },
function(data) {
if(data.error) {
alert(data.error);
return false;
}
if(data.count) {
$el.find("strong").text(number_format(String(data.count)));
if($tx.attr("id").search("nogood") > -1) {
$tx.text("이 글을 비추천하셨습니다.");
$tx.fadeIn(200).delay(2500).fadeOut(200);
} else {
$tx.text("이 글을 추천하셨습니다.");
$tx.fadeIn(200).delay(2500).fadeOut(200);
}
}
}, "json"
);
}
등록된 댓글이 없습니다.