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

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

QA

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

본문

http://sir.kr/g5_skin/6948 

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


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

 

 

 

 

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


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

 

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

wr_good 은 추천순

wr_hit는 조회순?

wr_scrap은 스크랩순

wr_id은 뭔지 모르겠구요;

 

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

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

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

 

 

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

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

이 질문에 댓글 쓰기 :

답변 1

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

 

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

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

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

회원로그인

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