[재질문]추천 비추천 버튼에 대하여 .. ^^;; > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

[재질문]추천 비추천 버튼에 대하여 .. ^^;; 정보

[재질문]추천 비추천 버튼에 대하여 .. ^^;;

본문

http://sir.co.kr/bbs/board.php?bo_table=g4_qa&wr_id=131220

그누보드에 공부 하면서 .. 참 질문도 정말 많이 하는거 같은데요 ^^;;
좀 부끄럽네요 이제 질문 하기가 .. 먼저 죄송하다는 말씀 드립니다. ^^;;
추천 비추천에 대해서 질문좀 드립니다.
추천 비추천버튼이 추천을 하든 안하든 항상 노출이 되잖아요 ??
즉 자신이 이 게시물에 추천을 했는지 안했는지 모르고 늘 버튼이 노출이 되어 있다 보니 ..
근데 이부분을 찾아 봤는데 팁이며 질답 게시판에는 관련 내용이 전혀 없는거 같아서 질문좀
드립니다.
즉 비회원도 추천이 가능 하게 해놓아서 ..
질문인 즉 추천을 했으면 아이디 아이피 비교해서 추천이나 비추천을 했으면 버튼이 안나오게
이미 추천 또는 비추천을 하였습니다라는 메세지 ..
즉 추천을 하지 않았으면 추천 비추천이 보이고 ..
추천과 비추천을 하였으면 비회원도 추천이 가능해서 추천 비추천 버튼이 안나오고
이미 추천 비추천을 하였습니다라는 메세지를 표시하고 싶은데 ..
어떻게 수정을 해야 할까요 ^^;;
-----------------------------------------------------------------------------------------
위에 어제 남긴 질문인데요 ^^;; 비회원도 추천이 되고 회원도 추천을 할 수 있게 해놓았습니다.
청춘불안정님께서 답변을 주셨는데 그 방법으로해보니 에러가 나더라구요 ..
그래서 그 밑에 billido님께서 답변을 주셨는데요 ..

1. g4_board_good 테이블에 아이피 필드 추가
2. bbs/good.php 에 회원관련 부분 모두 수정, 아이피 비교 부분 추가
3. 추천버튼 안나오게 하는 부분은 bbs/view.php 수정
이 정도면 될거 같습니다.^^

이부분에서 1번과 2번은 아래의
http://sir.co.kr/bbs/board.php?bo_table=g4_tiptech&wr_id=10981&sca=&sfl=wr_subject%7C%7Cwr_content&stx=%BE%C6%C0%CC%C7%C7&sop=and&page=2

헐랭이님의 팁으로 ip 관련 부분의 g4_board_good 테이블에 아이피를 검사하는 good_ip
테이블을 추가 하였고 비교 할 수 있게 전부 수정 하였습니다.
view페이지에서 아이디와 아이피를 비교 해서 .. 추천을 또는 비추천을 하였으면 추천버튼 대신
이미 또는 비추천을 하였습니다 라고 출력하고 싶은데 .. ^^;;
비추천도 마찬가지로 추천 비추천을 하였으면 추천 또는 비추천을 하였습니다라고 출력
하고 싶은데 어떻게 view에 어떻게 넣어줘야 할까요 ^^;;
  • 복사

댓글 전체

와~ 진도 많이 나가셨네요^^
조금만 더 고생하시면 되시겠어요~
우선 방법만 알려드리겠습니다.

view.php 87번째 줄 정도에 보시면,
if ($member[mb_id]) {
    // 스크랩 링크
    $scrap_href = "./scrap_popin.php?bo_table=$bo_table&wr_id=$wr_id";

    // 추천 링크
    if ($board[bo_use_good])
        $good_href = "./good.php?bo_table=$bo_table&wr_id=$wr_id&good=good";

    // 비추천 링크
    if ($board[bo_use_nogood])
        $nogood_href = "./good.php?bo_table=$bo_table&wr_id=$wr_id&good=nogood";
}

1. if ($member[mb_id]) { // 회원만 보이도록 해 놓았죠. 이부분을 삭제하고 good_ip 를 불러와서 IP를 비교하도록 합니다.

2. 스크랩 링크 부분은 따로 빼야겠죠?
if ($member[mb_id]) {
    // 스크랩 링크
    $scrap_href = "./scrap_popin.php?bo_table=$bo_table&wr_id=$wr_id";
}

3. 추천만 예를 들께요.
select count(*) from good_ip where 게시물ID필드='$wr_id' and ip필드명='접속자IP'
결과를 $IPcount 에 넣고 0이 아니면 존재하는 거죠.
    // 추천 링크
    if ($board[bo_use_good] && $IPcount > 0) {
        $good_echo = "이미 추천하셨습니다";
    }else{
        $good_href = "./good.php?bo_table=$bo_table&wr_id=$wr_id&good=good";
    }
$good_echo 를 적당한 위치에 넣으시면 됩니다.
비추천도 마찬가지로 적용하시면 되겠네요^^
billido님 답변 감사 합니다. ^^;;

그리고 죄송합니다. 제가 따라 하는걸 잘해도 php쪽은 전혀 모르다 보니 .. 이궁 ..

근데 이해가 안가는 부분이 있어서요 ^^;;

1번과 2번은 이해가 가는데 3번만 이해가 안가네요 ^^;;

g4_board_good 이라는 테이블에 저장이 되는데 추천 비추천이

필드는

bg_id - 추천비추천추천할때 자동으로 생성되는 넘버

bo_table - 게시판

wr_id  - 게시물번호

mb_id  - 회원아이디

bg_flag  - 추천인지 비추천인지 추천이면 good 비추천이면 nogood

bg_datetime  - 추천또는 비추천한 시간

good_ip - 추천 비추천 아이피

이렇게 되는데 ..

아래에 답변해 주신 게시물 아래처럼 하면 되는건가요 ? ^^;;

접속자 아이피라는부분은 어떻게 넣는 건가요 ^^;;

죄송하지만 보면서 수정하는건 잘하는데 초보라 아래처럼 알려 주시면 어떻게 하는지 잘 모르겠네요 이궁

초보라서 이것저것 보면서 하고 있는데 ^^;; 앞뒤로 <? ?> 이거는 붙이는건 알고 있는데

앞뒤로 이것만 붙이면 되는지 ^^; 죄송합니다.

<?
select count(*) from good_ip where wr_id='$wr_id' and good_ip='접속자IP'
    // 추천 링크
    if ($board[bo_use_good] && $IPcount > 0) {
        $good_echo = "이미 추천하셨습니다";
    }else{
        $good_href = "./good.php?bo_table=$bo_table&wr_id=$wr_id&good=good";
    }
?>

이렇게 하면 디나요?? ^^;; 접속자IP라고 작성을 해주신게 뭔지 이해가 잘 안되네요 ^^;;
헐랭이님 팁을 이용해서 급조(?)해 보았습니다. 코드가 깔끔하지 않은 점 이해해 주시기 바랍니다.^^

1. bbs/view.php 87번째 줄 근처 수정

if ($member[mb_id]) {
    // 스크랩 링크
    $scrap_href = "./scrap_popin.php?bo_table=$bo_table&wr_id=$wr_id";

    // 추천 링크
    if ($board[bo_use_good])
        $good_href = "./good.php?bo_table=$bo_table&wr_id=$wr_id&good=good";

    // 비추천 링크
    if ($board[bo_use_nogood])
        $nogood_href = "./good.php?bo_table=$bo_table&wr_id=$wr_id&good=nogood";
}

↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 윗 부분 전체를 아래로 대체 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

if ($member[mb_id]) {
    // 스크랩 링크
    $scrap_href = "./scrap_popin.php?bo_table=$bo_table&wr_id=$wr_id";
}

// 추천, 비추천 회원, 비회원 적용
if ($board[bo_use_good] || $board[bo_use_nogood]){
$sqlm = " select * from $g4[board_good_table]
              where bo_table = '$bo_table'
                and wr_id = '$wr_id'
                and good_ip = '$_SERVER[REMOTE_ADDR]'
                and bg_flag in ('good', 'nogood') ";
    $rowm = sql_fetch($sqlm);

    if ($rowm[good_ip])
    {
        if ($rowm[bg_flag] == "good")
            $statusm = "추천";
        else
            $statusm = "비추천";

        $good_echo = "이미 '$statusm' 하신 글 입니다.";
    }else{
$sql = " select bg_flag from $g4[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);

if ($row[bg_flag])
{
if ($row[bg_flag] == "good")
$status = "추천";
else
$status = "비추천";

$good_echo = "이미 '$status' 하신 글 입니다."; 
}
else
{
// 추천 링크
if ($board[bo_use_good])
$good_href = "./good.php?bo_table=$bo_table&wr_id=$wr_id&good=good";

// 비추천 링크
if ($board[bo_use_nogood])
$nogood_href = "./good.php?bo_table=$bo_table&wr_id=$wr_id&good=nogood";
}
}
}

2. skin/board/basic/view.skin.php 적당한 위치에 $good_echo 넣기
예를 들어 제목 위에 넣고자 한다면 35번째 줄 정도에
</div>
<div style="border:1px solid #ddd; clear:both; height:34px; background:url(<?=$board_skin_path?>/img/title_bg.gif) repeat-x;">

↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ 윗 부분 전체를 아래로 대체 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓

</div>
<?=$good_echo?>
<div style="border:1px solid #ddd; clear:both; height:34px; background:url(<?=$board_skin_path?>/img/title_bg.gif) repeat-x;">

휴~ 여기까지 입니다. 제가 직접 해보니 잘 되는군요 ^^
즐거운 밤 되세요 ^^
안녕하세요 ^^

어제밤에 확인을 하고 오늘 일어 나자 마자 확인을 하고 답변을 보자마자 해봤는데 ^^;;

안되네요 아무것도 뜨지가 않네요 .. ^^;;

근데 보면 조금 제가 질문을 잘못 설명 한거 같기도 하고 답변을 하신 내용으로 확인을 해보니

제가 잘못이해 한건지 모르겠습니다  ^^;;

제가 질문한 내용은 해당 게시판에서 view.skin.php에 보면 ..

<? if ($good_href || $nogood_href) {?>
        <? if ($good_href) {?>
        <div><a href="<?=$good_href?>" target="hiddenframe"><img src="<?=$g4[path]?>/img/icon_good.gif" alt='어워드추천' align="absmiddle"></a></div>
        <? } ?>
        <? if ($nogood_href) {?>
        <div><a href="<?=$nogood_href?>" target="hiddenframe"><img src="<?=$g4[path]?>/img/icon_nogood.gif" alt='어워드비추천' align="absmiddle"></a></div>
        <? } ?>
        <? } ?>

이부분이 있습니다.

이부분이 즉 추천과 비추천의 버튼이 출력이 되는 버튼인데 ..

bbs/view페이지에서 처리 하는게 아닌 스킨 페이지에서 처리를 해야 하는게 아닌지 생각이 들어

다시 한번 여쭈어 봅니다. ^^

즉 제가 질문을 드린 부분은 그누보드상에는 추천을 하던 안하던 추천과 비추천의 버튼이 항상

보인다는 부분이였는데요 ...

즉 디비에서 추천을 한 아이디와 아이피부분을 가져와서 조회를 해서 추천한 아이디와 아이피를

비교후 해당 게시물에 추천을 한 아이디와 아이피가 있으면 저 버튼이 안보이고 추천버튼 대신

이미 추천 또는 비추천을 하였습니다.

또 비추천 버튼 대신 이미 추천 또는 비추천을 하였습니다 라고 버튼 대신 표시 하는거였거든요 ^^;;

근데 제가 올려주신 답변을 이해를 못한건지 해보니 아무것도 출력이 안되더라구요 ^^;;

확인까지 해주시고 올리신건데 ^^;; 죄송합니다. 근데 제가 확인을 해보니 안되더라구요

귀찮게 해드려서 죄송합니다. ^^;;
© SIRSOFT
현재 페이지 제일 처음으로