여러 게시판에서 최근게시물을 뽑기. 정보
여러 게시판에서 최근게시물을 뽑기.본문
/lib/latest.lib.php 아래에 삽입.
function latest2($skin_dir = "", Array $bo_tableIds, $rows = 10, $subject_len = 40) {
global $g4;
if (!$skin_dir) $skin_dir = 'basic';
if (G4_IS_MOBILE) {
$latest_skin_path = G4_MOBILE_PATH . '/' . G4_SKIN_DIR . '/latest/' . $skin_dir;
$latest_skin_url = G4_MOBILE_URL . '/' . G4_SKIN_DIR . '/latest/' . $skin_dir;
} else {
$latest_skin_path = G4_SKIN_PATH . '/latest/' . $skin_dir;
$latest_skin_url = G4_SKIN_URL . '/latest/' . $skin_dir;
}
$sql_select = " ";
$list = array();
$sql = "
select b.gr_id, a.bo_table, a.wr_id, a.wr_parent, a.bn_datetime, b.bo_subject, b.bo_subject
from $g4[board_new_table] a, $g4[board_table] b
where a.bo_table = b.bo_table and a.bo_table in('" . implode("','", $bo_tableIds) . "') and a.wr_id = a.wr_parent
order by a.bn_id desc limit $rows
";
$_boardInfo = array();
$_notExistsBoards = array();
$result = sql_query($sql);
foreach ($bo_tableIds as $tableId) {
$board = sql_fetch("select * from {$g4['board_table']} where bo_table = '" . addslashes($tableId) . "'");
if ($board === false) $_notExistsBoards[] = $tableId;
$_boardInfo[$board['gr_id']] = $board;
}
for ($i = 0; $row = sql_fetch_array($result); $i++) {
$tmp_write_table = $g4['write_prefix'] . $row['bo_table'];
$row2 = sql_fetch("select * from $tmp_write_table where wr_id = '$row[wr_id]'");
$list[$i] = $row2;
$list[$i] = get_list($row2, $_boardInfo[$row['gr_id']], $latest_skin_path, $subject_len);
$bo_href[$i] = $row['bo_table'];
$bo_name[$i] = $row['bo_subject'];
$list[$i]['wr_date'] = $row2['wr_datetime'];
}
ob_start();
if ($_notExistsBoards) {
echo join(", ", $_notExistsBoards) . " 게시판이 존재하지 않습니다.";
}
include "$latest_skin_path/latest.skin.php";
$content = ob_get_contents();
ob_end_clean();
return $content;
}
Usage
echo latest2("basic", array("notice","free"), 5, 70);
추천
1
1
댓글 4개
잘사용하겠습니다
모든최근게시물 우와 감사합니다 잘 사용하겠습니다 !!!!!
잘쓰겠습니다
감사합니다~