php 평점이나, 평균 구하는 함수가 무엇이 있나요? 정보
php 평점이나, 평균 구하는 함수가 무엇이 있나요?본문
제가 영화 게시판을 만들었습니다.
코멘트 부분에 별점으로
<select name=wr_1 itemname="평점주기" required>
<option value=1 <? if($write[wr_1] == "1") echo "selected"; ?>><span style='color:#DD691B;font-size:14px;font:bold;'>☆</span></option>
<option value=2 <? if($write[wr_1] == "2") echo "selected"; ?>><span style='color:#DD691B;font-size:14px;font:bold;'>★</span></option>
<option value=3 <? if($write[wr_1] == "3") echo "selected"; ?>><span style='color:#DD691B;font-size:14px;font:bold;'>★☆</span></option>
<option value=4 <? if($write[wr_1] == "4") echo "selected"; ?>><span style='color:#DD691B;font-size:14px;font:bold;'>★★</span></option>
<option value=5 <? if($write[wr_1] == "5") echo "selected"; ?>><span style='color:#DD691B;font-size:14px;font:bold;'>★★☆</span></option>
<option value=6 <? if($write[wr_1] == "6") echo "selected"; ?>><span style='color:#DD691B;font-size:14px;font:bold;'>★★★</span></option>
<option value=7 <? if($write[wr_1] == "7") echo "selected"; ?>><span style='color:#DD691B;font-size:14px;font:bold;'>★★★☆</span></option>
<option value=8 <? if($write[wr_1] == "8") echo "selected"; ?>><span style='color:#DD691B;font-size:14px;font:bold;'>★★★★</span></option>
<option value=9 <? if($write[wr_1] == "9") echo "selected"; ?>><span style='color:#DD691B;font-size:14px;font:bold;'>★★★★☆</span></option>
<option value=10 <? if($write[wr_1] == "10") echo "selected"; ?>><span style='color:#DD691B;font-size:14px;font:bold;'>★★★★★</span></option>
</select>
이런 형태의 소스로 데이타베이스에 저장되서 코멘트 입력 할시 숫자로 입력이 되게 하였는데요.
출력 부분은
<?
if ($list[$i][wr_1] == 1) {
echo "<span style='color:#DD691B;font-size:14px;font:bold;'>☆</span>";
}elseif ($list[$i][wr_1] == 2) {
echo "<span style='color:#DD691B;font-size:14px;font:bold;'>★</span>";
}elseif ($list[$i][wr_1] == 3) {
echo "<span style='color:#DD691B;font-size:14px;font:bold;'>★☆</span>";
}elseif ($list[$i][wr_1] == 4) {
echo "<span style='color:#DD691B;font-size:14px;font:bold;'>★★</span>";
}elseif ($list[$i][wr_1] == 5) {
echo "<span style='color:#DD691B;font-size:14px;font:bold;'>★★☆</span>";
}elseif ($list[$i][wr_1] == 6) {
echo "<span style='color:#DD691B;font-size:14px;font:bold;'>★★★</span>";
}elseif ($list[$i][wr_1] == 7) {
echo "<span style='color:#DD691B;font-size:14px;font:bold;'>★★★☆</span>";
}elseif ($list[$i][wr_1] == 8) {
echo "<span style='color:#DD691B;font-size:14px;font:bold;'>★★★★</span>";
}elseif ($list[$i][wr_1] == 9) {
echo "<span style='color:#DD691B;font-size:14px;font:bold;'>★★★★☆</span>";
}elseif ($list[$i][wr_1] == 10) {
echo "<span style='color:#DD691B;font-size:14px;font:bold;'>★★★★★</span>";
}
?>
이렇게 해서 1 이면 ☆ 이런형태로 출력을 하였습니다. 이 평점의 평균을 구하면 코맨트를 입력 한
사람들의 전체 평균을 구하고 싶은데... 아직 생 초보인지라 이것저것 해봤는데도... 않되네요
그냥 예감 대로는 각각의 코맨트 평점 숫자를 배열로 해서 while 로 있는대로 나누고 전체 평균을
구하면 되지 않을가 해서 함수 찾아 보고 좀 해보다 힘들더라구요. 이거 어떻게 해야 하는 건가요?
코멘트 부분에 별점으로
<select name=wr_1 itemname="평점주기" required>
<option value=1 <? if($write[wr_1] == "1") echo "selected"; ?>><span style='color:#DD691B;font-size:14px;font:bold;'>☆</span></option>
<option value=2 <? if($write[wr_1] == "2") echo "selected"; ?>><span style='color:#DD691B;font-size:14px;font:bold;'>★</span></option>
<option value=3 <? if($write[wr_1] == "3") echo "selected"; ?>><span style='color:#DD691B;font-size:14px;font:bold;'>★☆</span></option>
<option value=4 <? if($write[wr_1] == "4") echo "selected"; ?>><span style='color:#DD691B;font-size:14px;font:bold;'>★★</span></option>
<option value=5 <? if($write[wr_1] == "5") echo "selected"; ?>><span style='color:#DD691B;font-size:14px;font:bold;'>★★☆</span></option>
<option value=6 <? if($write[wr_1] == "6") echo "selected"; ?>><span style='color:#DD691B;font-size:14px;font:bold;'>★★★</span></option>
<option value=7 <? if($write[wr_1] == "7") echo "selected"; ?>><span style='color:#DD691B;font-size:14px;font:bold;'>★★★☆</span></option>
<option value=8 <? if($write[wr_1] == "8") echo "selected"; ?>><span style='color:#DD691B;font-size:14px;font:bold;'>★★★★</span></option>
<option value=9 <? if($write[wr_1] == "9") echo "selected"; ?>><span style='color:#DD691B;font-size:14px;font:bold;'>★★★★☆</span></option>
<option value=10 <? if($write[wr_1] == "10") echo "selected"; ?>><span style='color:#DD691B;font-size:14px;font:bold;'>★★★★★</span></option>
</select>
이런 형태의 소스로 데이타베이스에 저장되서 코멘트 입력 할시 숫자로 입력이 되게 하였는데요.
출력 부분은
<?
if ($list[$i][wr_1] == 1) {
echo "<span style='color:#DD691B;font-size:14px;font:bold;'>☆</span>";
}elseif ($list[$i][wr_1] == 2) {
echo "<span style='color:#DD691B;font-size:14px;font:bold;'>★</span>";
}elseif ($list[$i][wr_1] == 3) {
echo "<span style='color:#DD691B;font-size:14px;font:bold;'>★☆</span>";
}elseif ($list[$i][wr_1] == 4) {
echo "<span style='color:#DD691B;font-size:14px;font:bold;'>★★</span>";
}elseif ($list[$i][wr_1] == 5) {
echo "<span style='color:#DD691B;font-size:14px;font:bold;'>★★☆</span>";
}elseif ($list[$i][wr_1] == 6) {
echo "<span style='color:#DD691B;font-size:14px;font:bold;'>★★★</span>";
}elseif ($list[$i][wr_1] == 7) {
echo "<span style='color:#DD691B;font-size:14px;font:bold;'>★★★☆</span>";
}elseif ($list[$i][wr_1] == 8) {
echo "<span style='color:#DD691B;font-size:14px;font:bold;'>★★★★</span>";
}elseif ($list[$i][wr_1] == 9) {
echo "<span style='color:#DD691B;font-size:14px;font:bold;'>★★★★☆</span>";
}elseif ($list[$i][wr_1] == 10) {
echo "<span style='color:#DD691B;font-size:14px;font:bold;'>★★★★★</span>";
}
?>
이렇게 해서 1 이면 ☆ 이런형태로 출력을 하였습니다. 이 평점의 평균을 구하면 코맨트를 입력 한
사람들의 전체 평균을 구하고 싶은데... 아직 생 초보인지라 이것저것 해봤는데도... 않되네요
그냥 예감 대로는 각각의 코맨트 평점 숫자를 배열로 해서 while 로 있는대로 나누고 전체 평균을
구하면 되지 않을가 해서 함수 찾아 보고 좀 해보다 힘들더라구요. 이거 어떻게 해야 하는 건가요?
댓글 전체

PHP 자체 보다는 SQL 의 AVG 명령을 활용해 보시는것이 좋으실듯 합니다.
select avg(wr_1) as a from table where wr_1 =조건 이 방법이 맞을듯 하시지만 varchar 타입인지 INT 형인지 몰라서 ....
아마 그누 기본형태시라면 문자형으로 되어 있서서 되실지 모르겠습니다....
미확인후 글을 올려 드리는 부분이라 죄송합니다...
select avg(wr_1) as a from table where wr_1 =조건 이 방법이 맞을듯 하시지만 varchar 타입인지 INT 형인지 몰라서 ....
아마 그누 기본형태시라면 문자형으로 되어 있서서 되실지 모르겠습니다....
미확인후 글을 올려 드리는 부분이라 죄송합니다...