쇼핑몰에 별점 표시하는 방법

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!
쇼핑몰에 별점 표시하는 방법

QA

쇼핑몰에 별점 표시하는 방법

본문

안녕하세요, 쇼핑몰에 별점 표시하는 방법 여쭙고자 질문 남깁니다.

 

2009912424_1700633807.8291.png 

사용후기 쓰기 버튼 누르면 나오는 곳에 보면 이런식으로 별점을 남길 수 있잖아요? 이 별점의 평균?을 매겨서 

2009912424_1700633862.9047.png

 

이런식으로 별점 평균과 함께 후기 갯수를 남기고 싶습니다. 코드는 아래처럼 짜놨습니다.

 


                <div>
                    <?php if ($star_score) { ?>
                      <h4 class="sound_only">고객 평점</h4>
                      <img
                          src="<?php echo G5_SHOP_URL; ?>/img/s_star<?php echo $star_score?>.png"
                          alt=""
                          class="sit_star">
                          <span class="st_bg "></span>
                    <?php } ?>
                   
                    <?php
                      $sql = " select count(*) as cnt from `{$g5['g5_shop_item_use_table']}` where it_id = '{$it_id}' and is_confirm = '1'  ";
                      $row = sql_fetch($sql);
                      $item_use_count = $row['cnt'];    
                      echo "<span>(".$item_use_count.")</span>";
                     ?>
                </div>

 

2009912424_1700634181.8187.png 

실행하면 이렇게 나옵니다. 후기 갯수 추출은 잘되는데 별점 추출이 되지 않습니다.... 별점 추출하고 표시하는건 대체 어떻게 하는걸까요? ㅠㅠ

이 질문에 댓글 쓰기 :

답변 2

위의 코드를 보면 후기 갯수는 정상적으로 추출되고 표시되고 있지만, 별점은 $star_score 변수를 통해 어떻게 계산되는지 알 수 없습니다. 별점을 추출하는 부분이 코드에 누락되었거나, 해당 정보를 가져오는 쿼리가 없는 것으로 보입니다.

일반적으로 별점은 데이터베이스에서 가져와야 하므로, 별점을 계산하는 방법이나 별점이 저장된 위치를 알려주지 않았기 때문에, 별점을 가져오는 부분을 추가해야 할 것으로 보입니다.

 

다음을 참고 하셔서 원하시는 구조로 구현하시면 되지 않을까 합니다.


<div>
    <?php
    $sql = "SELECT AVG(star) AS avg_star, COUNT(*) AS review_count FROM `{$g5['g5_shop_item_use_table']}` WHERE it_id = '{$it_id}' AND is_confirm = '1'";
    $row = sql_fetch($sql);
    // 별점이 있는 경우에만 표시
    if ($row['avg_star'] !== null) {
        $star_score = round($row['avg_star']); // 별점 반올림 또는 내림
        ?>
        <h4 class="sound_only">고객 평점</h4>
        <img src="<?php echo G5_SHOP_URL; ?>/img/s_star<?php echo $star_score; ?>.png" alt="" class="sit_star">
        <span class="st_bg "></span>
    <?php } ?>
    <?php
    $review_count = $row['review_count'];
    echo "<span>($review_count)</span>";
    ?>
</div>

 

이렇게 하면 별점의 평균을 계산하고, 이를 반올림하여 이미지 파일의 이름으로 사용하여 별점을 표시하게 됩니다. 실제 데이터베이스 구조와 필드명에 따라 적절히 수정해 주시면 될 것 같습니다.

 

참고 URL 

 

팁자료실 : https://sir.kr/g5_tip?sca=&sfl=wr_subject%7C%7Cwr_content&stx=%EB%B3%84%EC%A0%90

 

스킨 : https://sir.kr/g5_skin?sca=&sfl=wr_subject%7C%7Cwr_content&stx=%EB%B3%84%EC%A0%90

 

 

답변을 작성하시기 전에 로그인 해주세요.
전체 2,667
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT