원하는 게시판의 글2개씩만 뽑아 메인에 최신글로 뿌리려면? 정보
원하는 게시판의 글2개씩만 뽑아 메인에 최신글로 뿌리려면?본문
userfunction.lib.php 파일 만들어 그룹별로 최신글 뿌리게 했는데요..
원하는 게시판의 글2개씩만 뽑아 메인에 최신글로 뿌리려면 쿼리를 어떻게 날려야 하나요?
급합니다.. 이리저리 하고 있지만 시간만 죽이고 있네요..
고수님의 도움을 바랍니다
원하는 게시판의 글2개씩만 뽑아 메인에 최신글로 뿌리려면 쿼리를 어떻게 날려야 하나요?
급합니다.. 이리저리 하고 있지만 시간만 죽이고 있네요..
고수님의 도움을 바랍니다
댓글 전체
sql에 limit를 설정해보세요
$sql = " select * from $tmp_write_table where wr_is_comment = 0 order by wr_id desc limit 0, 2 ";
$sql = " select * from $tmp_write_table where wr_is_comment = 0 order by wr_id desc limit 0, 2 ";
<?
/*
최근글 사용시 include_once("$g4[path]/lib/latest.lib.php"); 하고 사용하듯이
include_once("$g4[path]/lib/userfunction.lib.php"); 문구를 상단에 넣으시면 사용.
latest_group("스킨명", "그룹명", 갯수, 제목길이);
*/
if (!defined('_GNUBOARD_')) exit;
/// 함수 정의 시작
// 최신글 추출 - 선택한 그룹별로 원하는 수만큼 보여줌
function latest_group($skin_dir="", $gr_id, $rows=10, $subject_len=40, $category="", $orderby="")
{
global $config;
global $g4;
$list = array();
$limitrows = $rows;
$sqlgroup = " select bo_table, bo_subject from $g4[board_table] where gr_id = '$gr_id' and bo_use_search=1 order by bo_order_search";
$rsgroup = sql_query($sqlgroup);
if ($skin_dir) $latest_skin_path = "$g4[path]/skin/latest/$skin_dir";
for ($j=0, $k=0; $rowgroup=sql_fetch_array($rsgroup); $j++) {
$bo_table = $rowgroup[bo_table];
// 테이블 이름구함
$sql = " select * from {$g4[board_table]} where bo_table = '$bo_table'";
$board = sql_fetch($sql);
$tmp_write_table = $g4[write_prefix] . $bo_table; // 게시판 테이블 실제이름
// 옵션에 따라 정렬
$sql = "select * from $tmp_write_table where wr_is_comment = 0 ";
$sql .= (!$category) ? "" : " and ca_name = '$category' ";
$sql .= (!$orderby) ? " order by wr_id desc " : " order by $orderby desc, wr_id desc ";
$sql .= " limit $limitrows";
$result = sql_query($sql);
for ($i=0; $row = sql_fetch_array($result); $i++, $k++) {
if(!$orderby) $op_list[$k] = $row[wr_datetime];
else {
$op_list[$k] = is_string($row[$orderby]) ? sprintf("%-256s", $row[$orderby]) : sprintf("%016d", $row[$orderby]);
$op_list[$k] .= $row[wr_datetime];
}
$list[$k] = get_list($row, $board, $latest_skin_path, $subject_len);
}
}
if($k>0) array_multisort($op_list, SORT_DESC, $list);
if($k>$rows) array_splice($list, $rows);
ob_start();
include "$latest_skin_path/latest.skin.php";
$content = ob_get_contents();
ob_end_clean();
return $content;
}
/// 함수 정의 끝
?>
latest_group("스킨명", "그룹명", 갯수, 제목길이);
여기서 갯수를 2개로 하면 진짜 2개만 나오거든요?
그걸 원하는게 아니라 그룹이 aaa이고 그룹에 게시판이 5개 있을때
aaa그룹의 각 게시판에서 최근글 2개씩 모아서
10개를 보여주려 합니다
어디를 손봐야 하나요?
/*
최근글 사용시 include_once("$g4[path]/lib/latest.lib.php"); 하고 사용하듯이
include_once("$g4[path]/lib/userfunction.lib.php"); 문구를 상단에 넣으시면 사용.
latest_group("스킨명", "그룹명", 갯수, 제목길이);
*/
if (!defined('_GNUBOARD_')) exit;
/// 함수 정의 시작
// 최신글 추출 - 선택한 그룹별로 원하는 수만큼 보여줌
function latest_group($skin_dir="", $gr_id, $rows=10, $subject_len=40, $category="", $orderby="")
{
global $config;
global $g4;
$list = array();
$limitrows = $rows;
$sqlgroup = " select bo_table, bo_subject from $g4[board_table] where gr_id = '$gr_id' and bo_use_search=1 order by bo_order_search";
$rsgroup = sql_query($sqlgroup);
if ($skin_dir) $latest_skin_path = "$g4[path]/skin/latest/$skin_dir";
for ($j=0, $k=0; $rowgroup=sql_fetch_array($rsgroup); $j++) {
$bo_table = $rowgroup[bo_table];
// 테이블 이름구함
$sql = " select * from {$g4[board_table]} where bo_table = '$bo_table'";
$board = sql_fetch($sql);
$tmp_write_table = $g4[write_prefix] . $bo_table; // 게시판 테이블 실제이름
// 옵션에 따라 정렬
$sql = "select * from $tmp_write_table where wr_is_comment = 0 ";
$sql .= (!$category) ? "" : " and ca_name = '$category' ";
$sql .= (!$orderby) ? " order by wr_id desc " : " order by $orderby desc, wr_id desc ";
$sql .= " limit $limitrows";
$result = sql_query($sql);
for ($i=0; $row = sql_fetch_array($result); $i++, $k++) {
if(!$orderby) $op_list[$k] = $row[wr_datetime];
else {
$op_list[$k] = is_string($row[$orderby]) ? sprintf("%-256s", $row[$orderby]) : sprintf("%016d", $row[$orderby]);
$op_list[$k] .= $row[wr_datetime];
}
$list[$k] = get_list($row, $board, $latest_skin_path, $subject_len);
}
}
if($k>0) array_multisort($op_list, SORT_DESC, $list);
if($k>$rows) array_splice($list, $rows);
ob_start();
include "$latest_skin_path/latest.skin.php";
$content = ob_get_contents();
ob_end_clean();
return $content;
}
/// 함수 정의 끝
?>
latest_group("스킨명", "그룹명", 갯수, 제목길이);
여기서 갯수를 2개로 하면 진짜 2개만 나오거든요?
그걸 원하는게 아니라 그룹이 aaa이고 그룹에 게시판이 5개 있을때
aaa그룹의 각 게시판에서 최근글 2개씩 모아서
10개를 보여주려 합니다
어디를 손봐야 하나요?