채택완료

view 페이지 코멘트 여분필드 값을 list페이지에 나타내기

2019-01-09 (수) 21:37:06 3,376

아래 코드처럼 여분 필드 wr_12에 댓글의 별표점수(1~5점)를 받아서 평균값으로 점수를 나타내고 있습니다. 

view 페이지에서는 평균값으로 잘 나타나고 있습니다만
list 페이지에서 그 게시물의 댓글들의 점수(wr_12) 평균값을 나타내려면 소스를 어떻게 해야 하는지요?

Copy
<?php
$cmtpoint ='0';
$totalcount = '0';
$userrating = '0';

$tbl = "{$g5[write_prefix]}{$bo_table}";
$sql2 = " select wr_12 from $tbl where wr_is_comment > 0 && wr_parent = '$wr_id' && wr_12 > '0' ";
$result2 = sql_query($sql2);

while($row2 = mysqli_fetch_array($result2)  ) {
$point=$row2[0];
$cmtpoint=$cmtpoint + $point;
$totalcount++;
}

if ($totalcount!=0) {
$cmtpoint= $cmtpoint/$totalcount;
$cmtpoint = sprintf("%.1f",$cmtpoint);
$int_cmtpoint = (int)($cmtpoint);
}
?>

<?php echo $cmtpoint ?>

답변 2개 / 댓글 3개

채택된 답변
+20 포인트

list.skin.php에서 

해당 소스는 그대로 활용하시고,

$wr_id가 들어가는 부분을 list[$i]['wr_id']로 수정하고 게시글을 보여주는 for문 안의 원하는 임의의 장소에 넣으시면 될 듯하네요

답변에 대한 댓글 2개

나타낼게 wr_12값이 아니라 그 게시글에 달린 전체 댓글 wr_12 값의 평균값인 $cmtpoint 값이랍니다.
제가 잘못 적어 list[$i]['wr_id'] 로 해서 안나타났네요. {$list[$i]['wr_id']} 로 하니까 나타났네요.
감사합니다. ^^

list페이지에 게시글이 20개가 있다고 하면..

각 게시글의  댓글마다 점수(wr_12)가 존재하고..

1. 20개 게시글에 대한 댓글의 평균점수를 알고 싶다는건가요? 
 

2. 아니면 각 게시글마다 평균 점수를 알고 싶다는건가요?

2번이라면 볼피드님 댓글처럼 하시면 되죠.

그리고, 평균값을 구하려면 

avg 함수를 사용하면 굳이 while문까지 안해도 될듯합니다.

select avg(wr_12) from ~~ 

답변에 대한 댓글 1개

게시글 전체에 대한 평균점수가 아니라 각 게시글마다의 댓글들의 평균점수를 알려고 합니다. 볼피드님이 알려주신대로 $wr_id가 들어가는 부분을 list[$i]['wr_id'] 로 수정해서 페이지를 보면 0값만 나타나네요.. ㅠㅠ

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