별점이 높은 순서대로 게시글 순서를 불러오고싶습니다.

별점이 높은 순서대로 게시글 순서를 불러오고싶습니다.

QA

별점이 높은 순서대로 게시글 순서를 불러오고싶습니다.

본문

리스트에서 별표5개와 0/100점 이 뜨는 부분입니다.

리스트순서를 별점이 높은 순서대로 불러오고 싶은데 

adm/board_form.php에 어찌 수정해야되는지요/..?


<div class="td_subject" style="text-align:right">

<?php

$use_count = 0;

for ($jj=3; $jj<11; $jj++) {

if($board['bo_'.$jj.'_subj']==''){

continue;

}

$use_count++;

    }

$point_parent_id = $list[$i]['wr_id'];

$point_sql = " select sum(wr_2+wr_3+wr_4+wr_5+wr_6+wr_7+wr_8+wr_9+wr_10) sum_point, (select count(*) from $write_table where wr_parent = '$point_parent_id' and wr_is_comment = '1') point_count from $write_table where wr_parent = '$point_parent_id' and wr_is_comment = '1' ";

$point_cmt = sql_fetch($point_sql);

$sum_point = $point_cmt['sum_point']==''? 0 : $point_cmt['sum_point'];

$point_count = $point_cmt['point_count']==''? 0 : $point_cmt['point_count'];

$calc_point = $point_count==0 ? 0 : $sum_point/($point_count*$use_count)/$board['bo_1']*100;

?>

<div class="star">

<?php for ($si=0; $si < floor($calc_point*0.05); $si++){ ?>

<img src="<?php echo $board_skin_url; ?>/img/icon_star.png" width="16" height="16">

<?php } ?>

<?php for ($si=0; $si < 5-floor($calc_point*0.05); $si++){ ?>

<img src="<?php echo $board_skin_url; ?>/img/icon_gray_star.png" width="16" height="16">

<?php } ?>

</div>

<!--<b style="color:#2E2E2E"><?php echo floor($calc_point); ?> / 100점</b>-->

</div>







이부분을 어찌 수정해야되는지요..?별점이 높은 순으로 글을 불러오고 싶습니다.

<option value="point_sql asc" <?php echo get_selected($board['bo_sort_field'], "point_sql asc"); ?>>point_sql asc : 별점높은순</option>





                

이 질문에 댓글 쓰기 :

답변 2

http://gnuwiz.com/board_tip/19?sfl=wr_subject||wr_content&stx=%EC%A0%95%EB%A0%AC&sop=and

여분필드로 정렬순서 바꾸는 방법입니다.

해당 별이 있는 필드를 맞춰서 수정하시면됩니다.

수정했는데도 잘안먹히는데 제가 잘못한걸까요...ㅠㅠ
<option value="wr_1 asc, wr_num, wr_reply" <?php echo get_selected($board['bo_sort_field'], "wr_1 asc, wr_num, wr_reply"); ?>>wr_1 asc : 여분필드1 오름차순</option>
               

bo_1 이부분이 점수인데...

소스 대강 보니 코멘트에 별점을 남기는 것 같은데요, 이 형태로는 별점순 정렬이 어렵습니다.

한다고 하더라도 성능상 매우 좋지 않구요.

별점 남기는 쪽 소스를 수정해서 별점 남길때마다 원게시글에 총점/별점남긴사람수/평균별점 정도로

3필드 정도 정보를 추가시키게 하고(또는 평균별점만 추가)

추가된 평균별점필드 기준으로 정렬을 시켜야 겠네요. 


리스트에 평균점수와 별점 보여주는 부분도 해당 추가된 필드로 뿌려지게 하는게 좋습니다.

원 소스는 평점 남긴 사람이 많은 게시글이 있을수록 속도에 영향이 많이 갈 소스로 보이네요.


수정이 힘드시면 제작의뢰 하시는 걸 추천드립니다.

답변을 작성하시기 전에 로그인 해주세요.
전체 21
QA 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT