최신글 테이블에서 그룹으로 뽑아오려면 어떻게 해야될까요??

최신글을 그룹으로 뽑아오려고 합니다. ($bo_table > $gr_id)

아래파일을 어떻게 수정해야 될까요? ^^;;

아래 파일은 테이블에서 일정기간 및 여러가지 형식으로 뽑아오는 것입니다.

사용될 때에는 아래처럼 하죠.

최신글을 불러올 때에는 아래와 같이 입력

<?=latest("스킨명", "게시판명", 출력갯수, 제목길이, "형식", "기간");?>

형식 - 코멘트순(C), 조회순(H), 랜덤(R), 추천(G), 비추천(N), 기본 최신글(공백이거나 B)
기간 - 최근 몇일간의 입력된 글을 뽑아옴. 100이라 입력하면 최근 100일간의 글을 뽑아옴

ex)
<?=latest("basic", "morssola", 5, 40, "R", "100");?>

관련 팁
http://www.sir.co.kr/bbs/tb.php/g4_qa/13112
http://www.sir.co.kr/bbs/tb.php/g4_tiptech/677





latest.lib.php 파일
<?
if (!defined('_GNUBOARD_')) exit;

// 최신글 추출
function latest($skin_dir="", $bo_table, $rows=10, $subject_len="", $brch="", $time="", $options="")
{
global $g4;

if ($skin_dir)
$latest_skin_path = "$g4[path]/skin/latest/$skin_dir";
else
$latest_skin_path = "$g4[path]/skin/latest/basic";

$list = array();

$sql = " select * from $g4[board_table] where bo_table = '$bo_table'";
$board = sql_fetch($sql);

$tmp_write_table = $g4['write_prefix'] . $bo_table; // 게시판 테이블 전체이름

if ($brch == "H") // 넘어온 값이 "H" 즉 hit 일때
$brch = "wr_hit"; // hit 순으로 쿼리
elseif ($brch == "C") // 넘어온 값이 "C" 즉 comment 일때
$brch ="wr_comment"; // comment 순으로 쿼리
elseif ($brch == "R") //넘온값이 "R" 즉 random 일때
$brch = "rand()"; // 랜덤 쿼리
elseif ($brch == "G") //넘온값이 "G" 즉 추천 일때
$brch = "wr_good"; // 추천 쿼리
elseif ($brch == "N") //넘온값이 "N" 즉 비추천 일때
$brch = "wr_nogood"; // 비추천 쿼리
elseif ($brch == "B") //넘온값이 "B" 즉 기본 최신글 일때
$brch = "wr_id"; // 기본 최신글 쿼리
else // 넘어온값이 없거나 그이외 일때
$brch = "wr_id"; // 걍 최근순으로 쿼리

$sql = " select * from $tmp_write_table where wr_is_comment = 0 and wr_datetime between date_sub(now(), interval $time day) and now() order by $brch desc limit 0, $rows ";
//explain($sql);
$result = sql_query($sql);
for ($i=0; $row = sql_fetch_array($result); $i++)
$list[$i] = get_list($row, $board, $latest_skin_path, $subject_len);

ob_start();
include "$latest_skin_path/latest.skin.php";
$content = ob_get_contents();
ob_end_clean();

return $content;
}
?>





마지막으로 sjsjin님, 댕2님께 감사드립니다. ^^
|

댓글 3개

최신글을 그룹으로 뽑아 온다는 것이 무슨 뜻인지......
그룹에 속한 게시판에서만 최신글을 가져 온다는 것인가요?

g4_board_new하고 g4_group하고 조인해서 가져 와야겠는데요.
모든 글이 g4_board_new에도 기록이 된다는 조건에서요
설명이 너무 어려웠나요? ㅎㅎ
$bo_table 이렇게 뽑아오는 것을 $gr_id 로 뽑아오는 것 질문입니다. ^^;;
방법은 두 가지가 있는데
그룹 테이블에서 $gr_id인 테이블 이름을 가져 와서 각 테이블마다 $rows만큼 최신글을 가져 와서
전체를 날짜로 정렬한 다음 다시 $rows만큼 골라 내는 거죠.
다음 링크를 참조 하시고
http://www.sir.co.kr/bbs/tb.php/g4_qa/15048

위 링크에서 언급하다만 g4_board_new를 이용하는 것은
bbs/new.php를 참고하면 될 듯한데.

bbs/new.php에서 앞 부분에 이 부분을

$sql_common = " from $g4[board_new_table] a, $g4[board_table] b, $g4[group_table] c
where a.bo_table = b.bo_table and b.gr_id = c.gr_id and b.bo_use_search = '1' ";

=============

$sql_common = " from $g4[board_new_table] a, $g4[board_table] b
where a.bo_table = b.bo_table and b.gr_id = $gr_id and b.bo_use_search = '1' ";


정도를 바꾸고

new.php를 불러 보면 어떨까요?
댓글을 작성하시려면 로그인이 필요합니다. 로그인

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기 기존 게시물은 열람만 가능합니다.

+
제목 글쓴이 날짜 조회
19년 전 조회 2,026
19년 전 조회 1,497
19년 전 조회 1,514
19년 전 조회 1,605
19년 전 조회 2,820
19년 전 조회 1,640
19년 전 조회 1,424
19년 전 조회 1,586
19년 전 조회 1,543
19년 전 조회 1,533
19년 전 조회 1,515
19년 전 조회 1,513
19년 전 조회 1,917
19년 전 조회 1,287
19년 전 조회 1,421
19년 전 조회 1,568
19년 전 조회 1,521
19년 전 조회 1,524
19년 전 조회 1,521
19년 전 조회 1,516
🐛 버그신고