그룹최신글 소스에서 조건을 바꿀경우.. 채택완료
아래는 최신글 소스중에서 그룹 인기글 스킨입니다.
http://sir.co.kr/bbs/board.php?bo_table=g5_skin&wr_id=7720&sca=%EC%B5%9C%EC%8B%A0%EA%B8%80&page=1">http://sir.co.kr/bbs/board.php?bo_table=g5_skin&wr_id=7720&sca=%EC%B5%9C%EC%8B%A0%EA%B8%80&page=1
이것을 인기글이 아닌 최근 입력된것부터 날짜 또는 입력순으로 바꾸고 싶은데요,
아래의 라이브러리 소스를 보면 단순히 출력문에서
echo izen_group('best10', '06', wr_hit, 10, 28, 30); 를
echo izen_group('best10', '06', wr_datetime, 10, 28, 30);
으로만 바꿔주면 될거 같은데, 실제로 걸어보면 아무것도 안나요네요.
제가 파악한것이 조금 부족한거 같은데 조언부탁드립니다.
감사합니다.
/* izen.group.lib.php 제작일 : 2006-12-08
지정 기간제 히트순 최근 게시물 수정본 http://www.sir.co.kr/bbs/tb.php/g4_tiptech/7328">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) $skin_dir = 'basic';
if(G5_IS_MOBILE) { $latest_skin_path = G5_MOBILE_PATH.'/'.G5_SKIN_DIR.'/latest/'.$skin_dir; $latest_skin_url = G5_MOBILE_URL.'/'.G5_SKIN_DIR.'/latest/'.$skin_dir; } else { $latest_skin_path = G5_SKIN_PATH.'/latest/'.$skin_dir; $latest_skin_url = G5_SKIN_URL.'/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 "; } 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_url, $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; } ?>
답변 1개
# 인기글 function izen_usort1($a, $b) { return $b['wr_hit'] - $a['wr_hit']; }
'wr_hit' 여기를 'wr_datetime' 하시면 안 되나요?
기본값은 아래도 들어있어 그렇게 하시면 먹힐 것 같아서요.
안 되시면 저녁 늦게라도.. 처리하실 수 있도록 노력하겠습니다!
고맙습니다!!
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인