추천버튼 관련하여 토글 문의드립니다
본문
제가 먼저 good.php에다가
추천버튼을 누르면 추천
또 한번 누르면 (이미 추천 팝업대신)
추천을 취소하는것을 넣었습니다
//update한 추천, 비추천 값 -1
sql_query(" update {$g5['write_prefix']}{$bo_table} set wr_{$good} = wr_{$good} - 1 where wr_id = '{$wr_id}' ");
//insert한 로그 중 해당 게시물, 아이디가 추천, 비추천한 로그 삭제
sql_query(" delete from {$g5['board_good_table']} where wr_id = '{$wr_id}' and mb_id = '{$member['mb_id']}' order by bg_datetime desc limit 1 ");
그래서 추천 / 추천 취소 이것은 되는데요
제가 추천을 누를시 버튼을 (빨강)으로 해놓았구요..
근데 문제는 추천취소를 눌러도 또 (빨강) 이거라서요
다시 검정으로 바꿔야되는데
ajax관련 토글인지 뭔지
또 한번 누를시 추천이 1에서 0이 되면서
색깔또한 검정으로 원상태로 바꾸게 하려면 코드를 어떻게 넣어야 될까여?
http://rhdtkd77.dothome.co.kr/bbs/board.php?bo_table=ev1
id:test
비번:test
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);
$("#good_button").css("color","red");
}
}
}, "json"
);
}
답변 2
//만약 버튼이 추천이아니면 class="good_button" 추천이면 class="good_button is_good"
//추천이 아닐경우
<button class='good_button' id="good_button">추천1</button>
//스타일 정의
<style>
.good_button{추천이 아닐경우 css}
.good_button.is_good{추천일 경우 css}
</style>
//good ajax 처리에서 만약 json 값이 $return 이라고 하시면
//처리하고 마지막 결과에 현재 추천인지 아닌지 검사
$sql = "select count(*) as cnt
from {$g5['board_good_table']}
where wr_id = '{$wr_id}'
and mb_id = '{$member['mb_id']}'";
$row=sql_fetch($sql);
if($ow[cnt]){
$return[p_type]="1";
}
else{
$return[p_type]="0";
}
//받는부분에
function(data) {
if(data.error) {
alert(data.error);
return false;
}
//추가
if(data.p_type==1){ //추천이 있다
jQuery("#good_button").addClass("is_good");
}
else{//추천이 없다
jQuery("#good_button").removeClass("is_good");
}
이건 유지보수로 가야하지 않을까요..
/bbs/good.php 파일쪽에 취소에 대한 부분이 정의된게 없을텐데..