테스트 사이트 - 개발 중인 베타 버전입니다

izens 님의 인기게시물 스킨질문입니다~ 채택완료

lacomparte 8년 전 조회 5,810

http://sir.kr/g5_skin/6948">http://sir.kr/g5_skin/6948 

이글에 있는 첨부파일입니다. 

</span></p><p><? </p><p>if (!defined('_GNUBOARD_')) exit; </p><p> </p><p>/* </p><p>izen.group.lib.php </p><p>제작일 : 2006-12-08 </p><p> </p><p>지정 기간제 히트순 최근 게시물 수정본 </p><p><a href="<a href="http://www.sir.co.kr/bbs/tb.php/g4_tiptech/7328" target="_blank" rel="noopener noreferrer">http://www.sir.co.kr/bbs/tb.php/g4_tiptech/7328</a>"><a href="http://www.sir.co.kr/bbs/tb.php/g4_tiptech/7328" target="_blank" rel="noopener noreferrer">http://www.sir.co.kr/bbs/tb.php/g4_tiptech/7328</a></a> </p><p> </p><p>그룹 최신글 관련하여 통합하도록 하였다. </p><p>정렬 필드값에 의해서 SQL 문을 추가하도록 하면 된다. </p><p> </p><p>izen_group('스킨', '그룹명', 정렬필드, 출력갯수, 자를 문자열, 최근 몇일간을 출력할 것인가?); </p><p>예) echo izen_group('best10', '06', wr_hit, 10, 28, 30); </p><p>*/ </p><p> </p><p># 인기글 </p><p>function izen_usort1($a, $b) </p><p>{ </p><p>return $b['wr_hit'] - $a['wr_hit']; </p><p>} </p><p> </p><p># 추천순 </p><p>function izen_usort2($a, $b) </p><p>{ </p><p>return $b['wr_good'] - $a['wr_good']; </p><p>} </p><p> </p><p> </p><p># 최신글 추출 </p><p>function izen_group($skin_dir="", $gr_id, $izen_sort, $rows=10, $subject_len=40, $listdate) </p><p>{ </p><p>global $g5; </p><p> </p><p>$nowYmd = date(Ymd); # 시작시간을 구합니다. </p><p>$time = time(); </p><p>$startYmd = date("Ymd",strtotime("-".$listdate." day", $time)); </p><p> </p><p>if ($skin_dir) </p><p>{ </p><p>$latest_skin_path = G5_SKIN_PATH.'/latest/'.$skin_dir;</p><p>} </p><p>else </p><p>{ </p><p>$latest_skin_path = G5_SKIN_PATH.'/latest/'.$skin_dir;</p><p>} </p><p> </p><p>$list = array(); </p><p> </p><p>$sql= " select bo_table from {$g5['board_table']} "; </p><p>$ress = sql_query($sql); </p><p>for($i=0, $ii=0; $board=sql_fetch_array($ress); $ii++) </p><p>{ </p><p>$tmp_write_table = $g5['write_prefix'] . $board['bo_table']; # 게시판 테이블 전체이름 </p><p>#$sql = "select * from `$tmp_write_table` where wr_is_comment <> '1' and  date_format(wr_datetime, '%Y%m%d') between '$startYmd' and '$nowYmd' order by $sort desc limit 0, $rows "; </p><p> </p><p># 정렬 필드에 의해서 전체적으로 정렬, 관리한다. </p><p>if ($izen_sort == 'wr_hit') </p><p>{ </p><p>$sql_gr_Q = " wr_is_comment <> '1' and date_format(wr_datetime, '%Y%m%d') between '$startYmd' and '$nowYmd' order by $izen_sort desc limit 0, $rows "; </p><p>} </p><p>elseif ($izen_sort == 'wr_scrap') </p><p>{ </p><p>$sql_gr_Q = " wr_is_comment <> '1' and date_format(wr_datetime, '%Y%m%d') between '$startYmd' and '$nowYmd' and wr_scrap <> 0 order by $izen_sort desc limit 0, $rows "; </p><p>} </p><p>elseif ($izen_sort == 'wr_datetime') # wr_1 헤드라인 </p><p>{ </p><p>//$sql_gr_Q = " wr_is_comment <> '1' and date_format(wr_datetime, '%Y%m%d') between '$startYmd' and '$nowYmd' and wr_1 = 1 order by $izen_sort desc limit 0, $rows "; 2016-11-30 주석처리</p><p>$sql_gr_Q = " wr_is_comment <> '1' and date_format(wr_datetime, '%Y%m%d') between '$startYmd' and '$nowYmd' order by $izen_sort desc limit 0, $rows "; </p><p>} </p><p>elseif ($izen_sort == 'wr_good')</p><p>{ </p><p>$sql_gr_Q = " wr_is_comment <> '1' and date_format(wr_datetime, '%Y%m%d') between '$startYmd' and '$nowYmd' and wr_good <> '0'  order by $izen_sort desc limit 0, $rows "; </p><p>} </p><p>elseif ($izen_sort == 'wr_id') </p><p>{ </p><p>$sql_gr_Q = " wr_is_comment <> '1' order by $izen_sort desc limit 0, $rows "; </p><p>} </p><p> </p><p>$sql = " select * from `$tmp_write_table` where $sql_gr_Q "; </p><p>$result = sql_query($sql); </p><p> </p><p>#for (; $row=sql_fetch_array($result); $i++) # *오류* 전체 게시물 가운데 날짜에 상관없이 히트순으로 지정한 갯수만큼 출력된다. </p><p>for ($i==0; $row=sql_fetch_array($result); $i++) </p><p>{ </p><p>$list[$i] = get_list($row, $board, $latest_skin_path, $subject_len, $listdate); </p><p>} </p><p>} </p><p> </p><p>if ($izen_sort == 'wr_hit') </p><p>{ </p><p>usort($list, 'izen_usort1'); </p><p>} </p><p> </p><p>elseif ($izen_sort == 'wr_good') </p><p>{ </p><p>usort($list, 'izen_usort2'); </p><p>} </p><p> </p><p>$list= array_slice($list, 0, $rows); </p><p> </p><p>ob_start(); </p><p>include "$latest_skin_path/latest.skin.php"; </p><p>$content = ob_get_contents(); </p><p>ob_end_clean(); </p><p> </p><p> </p><p>return $content; } ?></p><p><span style="font-size: 11pt;">

 

 

 

 

제가 스킨을 설치하고 글을 써보고 하는데

</p><p><? echo izen_group('best10', '', wr_datetime, 10, 34, 7); ?>  </p><p>

 

이런 코드를 작성했을 경우 정렬이 최신순이 아닌것 같아서요;

wr_good 은 추천순

wr_hit는 조회순?

wr_scrap은 스크랩순

wr_id은 뭔지 모르겠구요;

 

문제는 wr_datetime(최신순)으로 작성했는데도

새로이 글을 쓰게될 경우 1순위 부터 10순위까지 있는

리스트에 7순위로 들어가 버리네요;

 

 

더불어, 이 소스를 기반으로 

게시글+댓글이 가장 많은 회원도 추출가능할까요?

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

답변 1개

채택된 답변
+20 포인트
8년 전

게시글+댓글이 가장 많은 회원도 추출은 해당 쿼리 추가하면 됩니다.

 

해당 스킨에가서 쿼리를 찍어보세여.

스킨자체에서 쿼리 수정하면 최신순으로 정렬 가능할거같네여 

로그인 후 평가할 수 있습니다

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

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

로그인