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

추천버튼 관련하여 토글 문의드립니다 채택완료

제가 먼저 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" target="_self">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"

    );

}

비추천은 필요가 없는 상태입니다 
또 한번 누르면 추천취소 되면서 
버튼css를 바꾸려면 
어떻게 코드를 짜야될까여? 도움좀 부탁드려봅니다 

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

답변 2개

채택된 답변
+20 포인트

//만약 버튼이 추천이아니면   class="good_button" 추천이면 class="good_button is_good"

//추천이 아닐경우

//스타일 정의

//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");

   }

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

답변에 대한 댓글 1개

아고 감사합니다
이정도로 어려운 수준일줄은 몰랐네요
공부 잘해서 적용해보겠습니다
이렇게 길게 다 알려주시고 감사합니다

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

이건 유지보수로 가야하지 않을까요..

 

/bbs/good.php 파일쪽에 취소에 대한 부분이 정의된게 없을텐데..

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

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

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

로그인

전체 질문 목록

🐛 버그신고