쇼핑몰에 별점과 후기 갯수 표시

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

QA

쇼핑몰에 별점과 후기 갯수 표시

본문

네 안녕하세요

어제 올려놓고 어떻게 자력으로 반쯤 해결한 문제인데 새로운 문제가 생겨서 다시 질문을 남깁니다...

 

2009912424_1700717384.3527.png

 

1. 뷰페이지

2009912424_1700717427.4685.png

 

2. 목록페이지

별점은 성공적으로 들어갔습니다. 근데 list.10.skin.php와 item.form.skin 의 구조가 다르다보니 같은 코드를 넣어놔도 이제 작동을 안하는 문제가 생기고 있습니다..ㅠ

 

1. itemform.php (별점 표시는 되나 별점 갯수에 따른 평균값 계산 및 적용이 안됨, 후기 갯수 추출 작동)


                <?php  //이 부분이 별점 관련 코드입니다.
                $s_core = (int)$row['it_use_avg'];
                if ($s_core >= 0) {
                    echo "<div class=\"star\"><img src=".G5_SHOP_URL."/img/s_star".$s_core.".png></div>\n";
                }
                ?>
                <?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>";
                ?>

 

2. list.skin.php (별점은 표시됨, 후기 갯수 추출 작동하지 않음)


      if ($this ->view_it_star_score) { //고객별점보기
          $s_core = (int)$row['it_use_avg'];
          if ($s_core >= 0) {
              echo "<div class=\"star\"><img src=".G5_SHOP_URL."/img/s_star".$s_core.".png> </div>\n";
          }
      }
 
    if ($this->href) { //이 부분이 후기 갯수 관련 코드입니다
      $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>";
    }        
   
    echo "</div></li>\n";
    }

이 질문에 댓글 쓰기 :

답변 2

소스만 봐서는 list 스킨에서는 $it_id 값을 알수가 없어서 그런것 같습니다.

상품 보기 페이지 url은 /item.php?it_id=1405042530
리스트 페이지는 list.php?ca_id=2010
이런식으로 나와서 it_id 값을 알수가 없습니다.

list.skin.php에서

$it_id 를 $row['it_id']로 수정하시면 될것 같습니다. 

 

문제는 item.form.skin.php 파일에서 $row 변수를 사용할 때 기존에 이미 사용된 $row 변수 때문에 발생하는 것으로 보입니다. item.form.skin.php에서 이미 사용된 $row 변수를 초기화하거나, 다른 변수를 사용하면 문제가 해결되지 않을까 합니다.

 


<?php  //이 부분이 별점 관련 코드입니다.
$s_core = (int)$row['it_use_avg'];
if ($s_core >= 0) {
    echo "<div class=\"star\"><img src=".G5_SHOP_URL."/img/s_star".$s_core.".png></div>\n";
}
?>
<?php //후기 갯수 추출 코드
$sql = " select count(*) as cnt from `{$g5['g5_shop_item_use_table']}` where it_id = '{$it_id}' and is_confirm = '1'  ";
$row_item_form = sql_fetch($sql); // 변수명 변경
$item_use_count = $row_item_form['cnt'];    
echo "<span>(".$item_use_count."건)</span>";
?>

 

이렇게 하면 두 페이지에서 각각의 $row 변수를 독립적으로 사용할 수 있게 되고,

또한 list.skin.php 파일에서도 동일한 방식으로 $row 변수를 새로운 변수로 변경하여 사용해주면 될 것 같습니다.

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

회원로그인

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