게시판 리스트 특정값 기준으로 정렬할때... > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

게시판 리스트 특정값 기준으로 정렬할때... 정보

게시판 리스트 특정값 기준으로 정렬할때...

본문

게시물 별점(총점 계산값)으로 리스트를 정렬하고 싶은데요.

<?
$score = 0;
$all_score = 0;
if($view[wr_8] > 0) $score = $view[wr_7] / $view[wr_8];
$score = round($score,1);
if($view[wr_8] > 0) $all_score = $score * $view[wr_8];
?>

위와같이 view.skin.php 에서 wr_7 (별점)과 wr_8 (참여수) 을 이용해서 $all_score 라는 값을 얻었습니다.

list.skin.php (리스트스킨) 에서  $all_score 값을 이용해서 정렬 하고 싶은데

방법을 못찾겠습니다.


adm/board_form.php 에서 아래와 같이 추가했구요

<option value='all_score asc, wr_num, wr_reply'>all_score asc : 인기도 내림차순
<option value='all_score desc, wr_num, wr_reply'>all_score desc : 인기도 오름차순


bbs/list.php 에서 아래와 같이 추가했습니다.

$sst = preg_match("/^(wr_datetime|wr_hit|wr_good|wr_nogood|all_score|wr_7|wr_8)$/i", $sst) ? $sst : "";

근데 잘 안되네요.

에러메세지는 아래와 같습니다.


select * from g4_write_test where wr_is_comment = 0 order by all_score desc limit 0, 15

1054 : Unknown column 'all_score' in 'order clause'

error file : /bbs/board.php



해결 방법좀 알려주세요..ㅜㅜ

부탁드리겠습니다.

댓글 전체

all_score는 필드명이아닌 php소스상에서의 변수일뿐입니다
쿼리에 직접 계산식을 적용해보세요

SELECT * FROM g4_write_test WHERE wr_is_comment = 0 ORDER BY ROUND(wr_7/wr_8,1) DESC LIMIT 0, 15 이런식으로 쿼리가 실행되야하니
관리자의 옵션설정을 활용한다면

<option value='round(wr_7/wr_8,1) asc, wr_num, wr_reply'>all_score asc : 인기도 내림차순
<option value='round(wr_7/wr_8,1) desc, wr_num, wr_reply'>all_score desc : 인기도 오름차순

이런형식이 됍니다
전체 66,558 |RSS
그누4 질문답변 내용 검색

회원로그인

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