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

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

QA

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

답변 1

본문

리스트에서 별표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>





                

이 질문에 댓글 쓰기 :

답변 1

(참고로 adm/board_form.php 이 파일은 게시판 생성 페이지 파일입니다.)


개인적인 생각이지만, 앞 뒤 다 자르고 이 부분만 봐서는 정확한 답변이 어려울 것 같습니다.


물론 능력자 분이 계시다면 가능하시겠죠...


아무튼 이 부분만 보고 답변을 드려보자면,


저같으면 본문처럼 리스트를 출력하면서 계산을 하는게 아니라


해당 게시글의 리뷰가 등록될 때, 미리 계산을 해서 DB에 넣어놓겠습니다.


여분필드든, 새로운 필드를 만들든 해서요.


그리고 리스트를 출력할 때 그 필드에 들어있는 미리 계산된 값을 기준으로 높은 순으로 출력하겠습니다.




답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 21
© SIRSOFT
현재 페이지 제일 처음으로