추천버튼을 누르신 분이 보는 게시글에 특정 문구를 넣고 싶어요.
본문
안녕하세요.
게시판 추천버튼에 문구를 넣고 싶어서요.
추천버튼을 기존에 누른회원이 게시글을 접속할 경우
추천버튼 아래 "추천하신 게시물입니다." 라는 문구가 나오게 하고 싶어요.
추천버튼 누르면 잠깐 보였다가 사라지는 문구가 아니라
계속 나오는 문구로요.
어떻게 해야할까요??
<!-- 추천 비추천 시작 { -->
<?php if ( $good_href || $nogood_href) { ?>
<div id="bo_v_act">
<?php if ($good_href) { ?>
<span class="bo_v_act_gng">
<a href="<?php echo $good_href.'&'.$qstr ?>" id="good_button" class="bo_v_good">사진을 잘 찍어서 도움이 됐어요.<br><i class="far fa-thumbs-up"></i><span class="sound_only">추천</span><strong><?php echo number_format($view['wr_good']) ?></strong></a>
<b id="bo_v_act_good"></b>
</span>
<?php } ?>
<?php if ($nogood_href) { ?>
<span class="bo_v_act_gng">
<a href="<?php echo $nogood_href.'&'.$qstr ?>" id="nogood_button" class="bo_v_nogood"><i class="far fa-thumbs-down"></i><span class="sound_only">비추천</span><strong><?php echo number_format($view['wr_nogood']) ?></strong></a>
<b id="bo_v_act_nogood"></b>
</span>
<?php } ?>
</div>
<?php } else {
if($board['bo_use_good'] || $board['bo_use_nogood']) {
?>
<div id="bo_v_act">
<?php if($board['bo_use_good']) { ?><span class="bo_v_good">추천은 로그인 후 하실 수 있어요.<br><i class="far fa-thumbs-up"></i><span class="sound_only">추천</span><strong><?php echo number_format($view['wr_good']) ?></strong></span><?php } ?>
<?php if($board['bo_use_nogood']) { ?><span class="bo_v_nogood"><i class="far fa-thumbs-down"></i><span class="sound_only">비추천</span><strong><?php echo number_format($view['wr_nogood']) ?></strong></span><?php } ?>
</div>
<?php
}
}
?>
<!-- } 추천 비추천 끝 -->
답변 3
<span class="bo_v_act_gng">
<a href="<?php echo $good_href.'&'.$qstr ?>" id="good_button" class="bo_v_good"><i class="fa fa-thumbs-o-up" aria-hidden="true"></i><span class="sound_only">추천</span><strong><?php echo number_format($view['wr_good']) ?></strong></a>
<?php
$sql = " select * 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);
echo (isset($row['bg_flag']) && $row['bg_flag']) ? ($row['bg_flag'] == 'good' ? $view['wr_name'].'님의 게시물에 추천을 하였습니다.' : '비추천') : '';
?>
</span>
방법은 다양하게 있는데 아래의 코드도 한번 참고를 해보세요.
1.
<a href="<?php echo $good_href.'&'.$qstr ?>" id="good_button" class="bo_v_good" onclick="return recommendPost(this.href);">사진을 잘 찍어서 도움이 됐어요.<br><i class="far fa-thumbs-up"></i><span class="sound_only">추천</span><strong><?php echo number_format($view['wr_good']) ?></strong></a>
<script>
function recommendPost(href) {
$.ajax({
url: href,
type: "GET",
dataType: "json",
success: function(data) {
if (data.success) {
alert("추천하셨습니다.");
$("#good_button strong").text(data.count);
} else {
alert(data.message);
}
},
error: function() {
alert("오류가 발생했습니다. 다시 시도해주세요.");
}
});
return false;
}
</script>
2. bbs/good.php
if ($board['bo_use_good'] || $board['bo_use_nogood']) {
if ($is_member && !($is_admin && $write['mb_id'] == $member['mb_id'])) {
if (!$good && !$nogood) {
if ($good_href) {
if ($is_good) {
$sql = " update {$g5['write_prefix']}{$bo_table} set wr_good = wr_good - 1 where wr_id = '{$wr_id}' ";
sql_query($sql);
$status = "추천을 취소했습니다.";
} else {
$sql = " update {$g5['write_prefix']}{$bo_table} set wr_good = wr_good + 1 where wr_id = '{$wr_id}' ";
sql_query($sql);
$status = "추천했습니다.";
}
}
// ... (기존 코드 유지)
}
}
}
$count = $is_good ? $write['wr_good'] : $write['wr_nogood'];
echo json_encode(array('success' => true, 'message' => $status, 'count' => $count));
exit;
해당 질문으로 질문자님의 역량을 가늠하기는 어려우나 간단한 SQL 문을 작성할 줄 아시나요?
원하시는 내용은 기본 그누보드 순정에서는 지원하지 않는 기능입니다.
SQL, PHP 작성이 필요합니다.
1. 게시글을 추천하면 g5_board_good 해당 테이블에 추천 정보가 저장됩니다.
2. g5_board_good 테이블을 기준으로 해당 게시글의 추전 정보를 조회하면 됩니다.
- bo_table / wr_id / mb_id / bg_flag => 일치하는 정보가 있을 경우 return "추천하신 게시글 입니다.";
도움이 되셨다면 채택 한번 부탁드립니다^^