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

게시판 뷰페이지에서 로그인한 유저가 좋아요(추천)을 눌렀는지 확인하는 방법 채택완료

coDribble 9개월 전 조회 3,012

안녕하세요. 게시판 뷰페이지의 추천기능을 좋아요로 사용하려고 합니다. 비추천은 사용하지 않아 없애놓았습니다.

뷰페이지의 good_button 만 띄우고, else 부분에도 동일하게 wr_good 만 남겨놓았습니다.

 

제가 구현하고 싶은건 로그인한 유저가 해당 게시글의 좋아요(추천)를 눌렀는지 안눌렀는지를 체크하고 싶습니다. 

현재 제가 구현을 해놓긴 했는데 직업 쿼리로 데이터를 불러와서 해야하는건지 ¹더 쉬운 방법이 있는지 알고자 질문드리게 되었습니다.

 

직접 뷰페이지 안에서 board_good_table 을

로그인한 mb_id 와 게시글 아이디인 wr_id 를 가지고

출력되는 데이터를 조회를 해서 존재하면 1, 없으면 0 으로 값을 가져와서 1이면 좋아요를 누른 상태인 색이 표현된 하트 아이콘, 0이면 좋아요를 안누른 상태로 색이 빠진 흑백 하트 아이콘으로

표현을 해놓은 상태입니다.

</p>

<p><?php if ( $good_href || $nogood_href) { ?>

<div id="bo_v_act">

    <?php

    if ($good_href) {</p>

<p>        // 이 부분이 제가 구현한 부분입니다. {

        $mygood_sql = " select count(*) as cnt from {$g5['board_good_table']} where bo_table = '{$bo_table}' and wr_id = '{$view['wr_id']}' and mb_id = '{$member['mb_id']}' ";

        $mygood_row = sql_fetch($mygood_sql);

        $myLike = $mygood_row['cnt'] ? ' on' : '';

        // } 이 부분이 제가 구현한 부분입니다.

    ?>

    <span class="bo_v_act_gng">

        <a href="<?php echo $good_href.'&amp;'.$qstr ?>" id="good_button" class="bo_v_good flex items-center justify-center<?php echo $myLike; ?>"><span class="sound_only">추천</span><strong class="font-medium"><?php echo number_format($view['wr_good']) ?></strong></a>

    </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 flex items-center justify-center"><span class="sound_only">추천</span><strong class="font-medium"><?php echo number_format($view['wr_good']) ?></strong></span><?php } ?>

</div>

<?php

    }

}

?></p>

<p>

이렇게 게시판 뷰페이지에서 직업 good table 을 조회해서 가져오는 방법밖에 없는건가요??
아 그리고 ²추천/비추천 부분에서 if else 로 나눠서 출력하는 이유도 궁금합니다.
if( $good_href || $nogood_href ) 부분에는 버튼으로 출력되고,
else 에는 그냥 보여주기용인 것 같은데... 

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

답변 1개

채택된 답변
+20 포인트
플라이
9개월 전

쿼리로 조회해서 가져와 처리해주는 방식이 맞습니다.

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

답변에 대한 댓글 3개

c
coDribble
9개월 전
답변 감사드립니다! :)
혹시 본문 아래 내용중 추천/비추천 이 조건에 따라 다르게 출력되는데, 해당 조건의 내용을 알 수 있을까요...?!
[code]
<?php if ( $good_href || $nogood_href) { ?>
추천/비추천 버튼 출력
<?php } else {
if($board['bo_use_good'] || $board['bo_use_nogood']) {
?>
추천/비추천 결과(?) 출력
<?php
}
}
?>
[/code]
이렇게 나뉘어져 있는데... 항상 버튼 방식으로 출력되지않나 싶어서요.

아래 조건에는 게시판 설정에서 추천 사용, 비추천 사용에 체크되어있는거에 따라 출력될 것 같은데,
위 조건에 good_href, nogood_href 가 있으면 출력되게 되어있어서 찾아보니
해당 값들의 정의는 /bbs/view.php 에 되어있더라구요.
결과적으로 보면 게시판 설정에서 추천에 체크가 되었다면 $good_href 가 정의 되다보니

항상 버튼형식의 추천/비추천이 출력될 것 같아보이는데... 아래 else 부분이 어떨때 출력되는지 궁금합니다;;
플라이
9개월 전
하단 else는 게시판 설정에서 추천 비추천 사용유무로 표기 되는 부분입니다.
c
coDribble
9개월 전
아... 그 부분은 저도 확인해서 알고 있어서 위 제 댓글에 아래 조건에 대한 내용을 작성했었습니다ㅠ
그런데 결국 게시판 설정에서 추천/비추천 사용 유무로 $good_href, $nogood_href 가 추가되는 것을 확인했습니다

그래서 결국 제가 생각한게 if else 조건 모두 게시판 설정의 추천/비추천 사용유무에 따라 동일한 영향을 받는데, 그렇다면 굳이 조건을 나눌 필요가 있나 생각이 들어가지고...

잘못 생각한건가 싶어서 else 부분이 대체 언제 실행되는지가 궁금했습니다 :)

다시 한 번 답변 감사드립니다!

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

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

로그인