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

쇼핑몰에 별점과 후기 갯수 표시 채택완료

ZDZ 1년 전 조회 1,919

네 안녕하세요

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

 

 

1. 뷰페이지

 

2. 목록페이지

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

 

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

</p>

<p>                <?php  //이 부분이 별점 관련 코드입니다.</p>

<p>                $s_core = (int)$row['it_use_avg'];</p>

<p>                if ($s_core >= 0) {</p>

<p>                    echo "<div class=\"star\"><img src=".G5_SHOP_URL."/img/s_star".$s_core.".png></div>\n";</p>

<p>                }</p>

<p>                ?></p>

<p>                <?php //후기 갯수 추출 코드</p>

<p>                  $sql = " select count(*) as cnt from `{$g5['g5_shop_item_use_table']}` where it_id = '{$it_id}' and is_confirm = '1'  ";</p>

<p>                  $row = sql_fetch($sql);</p>

<p>                  $item_use_count = $row['cnt'];    </p>

<p>                  echo "<span>(".$item_use_count."건)</span>";</p>

<p>                ?></p>

<p>

 

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

</p>

<p>      if ($this ->view_it_star_score) { //고객별점보기</p>

<p>          $s_core = (int)$row['it_use_avg'];</p>

<p>          if ($s_core >= 0) {</p>

<p>              echo "<div class=\"star\"><img src=".G5_SHOP_URL."/img/s_star".$s_core.".png> </div>\n";</p>

<p>          }</p>

<p>      }</p>

<p> </p>

<p>    if ($this->href) { //이 부분이 후기 갯수 관련 코드입니다</p>

<p>      $sql = " select count(*) as cnt from `{$g5['g5_shop_item_use_table']}` where it_id = '{$it_id}' and is_confirm = '1'  ";</p>

<p>      $row = sql_fetch($sql);</p>

<p>      $item_use_count = $row['cnt'];    </p>

<p>      echo "<span>(".$item_use_count."건)</span>";</p>

<p>    }        </p>

<p>   </p>

<p>    echo "</div></li>\n";</p>

<p>    }</p>

<p>

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

답변 2개

채택된 답변
+20 포인트

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

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

list.skin.php에서

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

 

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

답변에 대한 댓글 1개

Z
ZDZ
1년 전
너무 감사합니다 ㅠㅠ list는 커핑님 덕분에 해결했어요!!
혹시 item.form.skin.php에서 별점 안나오는건 어떻게 해결하시는지 아실까요...?

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

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

 

</p>

<p><?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 변수를 새로운 변수로 변경하여 사용해주면 될 것 같습니다.

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

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

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

로그인