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

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

QA

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

답변 1

본문

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

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

 

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

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

 

직접 뷰페이지 안에서 board_good_table 을

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

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

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


<?php if ( $good_href || $nogood_href) { ?>
<div id="bo_v_act">
    <?php
    if ($good_href) {
        // 이 부분이 제가 구현한 부분입니다. {
        $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.'&'.$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
    }
}
?>

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

이 질문에 댓글 쓰기 :

답변 1

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

답변 감사드립니다! :)
혹시 본문 아래 내용중 추천/비추천 이 조건에 따라 다르게 출력되는데, 해당 조건의 내용을 알 수 있을까요...?!


<?php if ( $good_href || $nogood_href) { ?>
추천/비추천 버튼 출력
<?php } else {
    if($board['bo_use_good'] || $board['bo_use_nogood']) {
?>
추천/비추천 결과(?) 출력
<?php 
    }
}
?>

이렇게 나뉘어져 있는데... 항상 버튼 방식으로 출력되지않나 싶어서요.

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

항상 버튼형식의 추천/비추천이 출력될 것 같아보이는데... 아래 else 부분이 어떨때 출력되는지 궁금합니다;;

아... 그 부분은 저도 확인해서 알고 있어서 위 제 댓글에 아래 조건에 대한 내용을 작성했었습니다ㅠ
그런데 결국 게시판 설정에서 추천/비추천 사용 유무로 $good_href, $nogood_href 가 추가되는 것을 확인했습니다

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

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

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

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 3,272
© SIRSOFT
현재 페이지 제일 처음으로