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

영카트 사용 후기 개발 부분 채택완료

해드 3년 전 조회 1,884

영카트 사용 후기 별점관련해서 작업하고 있는데요 안풀리는 부분이 있어서 문의 드립니다...

 

use테이블에서 it_id기준으로 is_score를 그룹화여 가져와서 카운드 하려고 합니다 

그런데 여기서 특정 스코어가 없는 부분을 0으로 표기해서 순차적으로 가져오고 싶습니다 

 

예를 1번제품에 리뷰가 있고 별점이 5점 3점 1점씩 있고, 2점 4점 스코어가 없을 경우

아래처럼 출력이 되어야하는데 제가 작업한 코드가 문제가 있습니다 ㅠ 

1~5번까지 출력하고 스코어 값중 없는 값은 0으로 표기가 되어야 된다는 조건이 있어야 할 것 같은데

도통 어떻게 조건을 줘야할지 모르겠습니다 ㅠ 

 

$qry = " select is_score, count(*) as cnt from {$g5['g5_shop_item_use_table']} where it_id={$it['it_id']} and is_confirm ='1' group by is_score HAVING count(*) order by is_score desc ";
$result = sql_query($qry);

for($i=0; $i <= 4; $i++) {

   $row=sql_fetch_array($result);

  echo $row['is_score'] // 출력 531

}

!! === 원하는 모습 === !!          !! === 현재 출력되는 모습 === !! 

별점(5) = 1                                       별점(5) = 1      

별점(4) = 0                                       별점(4) = 1     

별점(3) = 1                                       별점(3) = 1

별점(2) = 0                                       별점(2) = 0

별점(1) = 1                                       별점(1) = 0

 

 

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

답변 1개

HAVING count(*) 

빼 보세요.

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

답변에 대한 댓글 1개

해드
3년 전
똑같아요 ㅠ

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

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

로그인