질문 하나만 드릴께요!
작성자 정보
- 관리자 작성
- 작성일
컨텐츠 정보
- 492 조회
-
목록
본문
마리골드 이래저래 수정해보고 있는데요.
위젯부분에서 하나 막혀서 여쭙고싶습니다.
widget_setup.php에서
별점 표시
<?php $wset['is_rating'] = isset($wset['is_rating']) ? $wset['is_rating'] : ''; ?>
>
별점 표시
이런식으로 만들어서
<?php
// 별점 평균을 가져오는 SQL 쿼리
$sql = "SELECT AVG(rating) AS avg_rating FROM {$g5['write_prefix']}{$bo_table} WHERE wr_id = '{$wr_id}'";
$result = sql_fetch($sql);
$avg_rating = $result['avg_rating'] ? number_format($result['avg_rating'], 1) : '0';
// 별점 출력
if ($wset['is_rating']) {
echo '
';}
?>
이런식으로 출력할려고 하는데
widget 상단에
<?php
// 별점 집계 쿼리 (해당 게시물의 댓글 중 별점 데이터가 있는 것들을 집계)
$sql = " SELECT COUNT(*) AS cnt,
SUM(rating_main) AS total_main,
SUM(rating_support) AS total_support,
SUM(rating_story) AS total_story,
SUM(rating_quality) AS total_quality,
SUM(rating_popularity) AS total_popularity,
SUM(rating_writing) AS total_writing
FROM g5_star_rating
WHERE bo_table = '{$bo_table}'
AND wr_parent = '{$wr_id}' ";
$row = sql_fetch($sql);
// 별점 데이터가 하나라도 있으면 평균 계산, 없으면 기본값 "0.0"
if ($row['cnt'] > 0) {
// 0~60 점 범위 → 10점 만점으로 환산 (6으로 나누고 소수점 한자리)
$avg_rating_main = round(($row['total_main'] / $row['cnt']) / 6, 1);
$avg_rating_support = round(($row['total_support'] / $row['cnt']) / 6, 1);
$avg_rating_story = round(($row['total_story'] / $row['cnt']) / 6, 1);
$avg_rating_quality = round(($row['total_quality'] / $row['cnt']) / 6, 1);
$avg_rating_popularity = round(($row['total_popularity'] / $row['cnt']) / 6, 1);
$avg_rating_writing = round(($row['total_writing'] / $row['cnt']) / 6, 1);
} else {
$avg_rating_main = "0.0";
$avg_rating_support = "0.0";
$avg_rating_story = "0.0";
$avg_rating_quality = "0.0";
$avg_rating_popularity = "0.0";
$avg_rating_writing = "0.0";
}
$num_evaluations = $row['cnt'];
// 전체 평균 평점 (6개 항목의 평균의 평균)
$sum_avg = ((float)$avg_rating_main + (float)$avg_rating_support + (float)$avg_rating_story + (float)$avg_rating_quality + (float)$avg_rating_popularity + (float)$avg_rating_writing);
$overall_avg = round($sum_avg / 6, 1);
?>
쿼리문 다 다 넣어놨는데도 그 값을 못불러오더라구요.
이래저래 테스트 해보니까 bo_table과 wr_id를 제대로 못들고 오는것 같던데
혹시 제가 놓친 부분이 있는걸까요?
파고 파고 파도 참 어렵네요 ㅠㅠ
관련자료
-
링크