빛

최신글을 그룹별, 게시판의 카테고리별 추출이 가능할까요?

· 2006-12-24 (일) 01:03:38 · 4402 · 6
여기저기 검색을 해보았는데, 최신글 그룹별 게시판 카테고리를 뽑아오는 팁은
 
많이 보았습니다. 그런데, 단순히 카테고리의 리스트만 뽑아오는 것이 아닌
 
내용까지 뽑아올 수 있는  방법은 없을까 하는 것입니다.
 
한개의 게시판에서 카테고리별 최신글은 아래의 팁으로 가능합니다.
 
 
 
저는 그룹내에 게시판마다 동일한 카테고리가 있어서 그 카테고리별 최신글을
 
뽑아와야 하거든요.   어떻게 해야 할지 모르겠습니다. 도와주세요.
|

댓글 6개

원하시는게....
저는 그룹내에 게시판마다 동일한 카테고리가 있어서 그 카테고리별 최신글을 뽑아와야 하거든요.

(제가 잘 이해를 못해서요.)

-----------------------------------------------------------
질문1: 1개의 게시판일경우 각각의 분류별로 최신글이 나와야한다.?
==>> 맞나요.?
-----------------------------------------------------------

아니면
------------------------------------------------------------------------------
질문2: 그룹에 속한 게시판내(테이블)에서 동일한 분류에 속한 최신글이 나와야 한다.?
==>맞나요.?
-------------------------------------------------------------------------------

질문 2가 맞죠.? 그냥 긍금해서 여쭈어 봅니다.
당장 생각하기에는 2가지 방법이 떠오르네요...하나는 board테이블에서 gr_id가 aaa인 게시판들의 bo_table값을 가져온후에 그걸로 latest를 여러번 돌리는것, 그게 아니면 latest_new같은 새로운 latest함수를 만들어서 거기에 추가값에 gr_id를 넘기면 거기에서 board테이블에서 소속 테이블의 bo_table값을 가져와서 함수 안에서 기존의 latest를 여러번 돌리는경우죠

다시보니 둘다 같은거 같긴한데...-_-;;...앞의것은 그룹최신글을 자주 쓰지 않을경우 한번만 쓰는거면 거기에다가 한번만 하면 좋을것 같구, 두번째것은 자주쓸경우 함수화해서 사용이 편리할것 같습니다...^^
그누보드 처음깔면 나오는 index.php의 일부분 수정입니다.
<?
// 최신글
$sql = " select bo_table, bo_subject from $g4[board_table] where gr_id = 'aaa' order by gr_id, bo_table ";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++) {
// 이 함수가 바로 최신글을 추출하는 역할을 합니다.
// 스킨은 입력하지 않을 경우 관리자 > 환경설정의 최신글 스킨경로를 기본 스킨으로 합니다.

// 사용방법
// latest(스킨, 게시판아이디, 출력라인, 글자수);
echo latest("scroll", $row['bo_table'], 12, 70, "4,25");
echo "<p>\n";
}
?>

where gr_id = 'aaa' 부분을 추가하면 해당 그룹의 latest만 뽑히죠...거기서 아래의 latest를 많이 보셨다는 카테고리의 리스트 뽑기로 하면 될듯합니다....이게 바로위에서의 1번방법
union이 된다고 치고 10개를 뽑아 온다고 하면

(select * from g4_write_bb1 where wr_is_comment=0 and ca_name= 'AAAA' order by wr_id DESC limit 10)
UNION
(select * from g4_write_bb2 where wr_is_comment=0 and ca_name= 'AAAA' order by wr_id DESC limit 10)
UNION
(select * from g4_write_bb3 where wr_is_comment=0 and ca_name= 'AAAA' order by wr_id DESC limit 10)
order by wr_datetime DESC limit 10

UNION은 mysql 버젼 4.0.0 이상부터 됩니다.

union이 지원 안 되면

각 게시판별로 10개씩 끌고 와서
배열에 넣고 날짜순으로 정열한 다음 10개를 뽑아 내야 합니다.
2006-12-24 (일) 22:43:45
여러가지 답변 감사합니다. 한번 해보겠습니다. 그런데, 워낙 초보인지라 또 다시 시행착오를 많이 겪어야 될 듯 합니다. 너무 어렵네요. union은 $sql = 에 넣어야 되는 것이지요?
2007-04-04 (수) 17:24:44
감사합니다.
댓글을 작성하시려면 로그인이 필요합니다.

그누4 질문답변

66,531건

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

+
제목 글쓴이 날짜 조회
06-12-24 조회 1,896
06-12-24 조회 1,544
06-12-24 조회 1,742
06-12-24 조회 1,649
06-12-24 조회 1,746
06-12-24 조회 4,403
06-12-23 조회 2,272
06-12-23 조회 2,036
06-12-23 조회 1,558
06-12-23 조회 1,694
06-12-23 조회 1,599
06-12-23 조회 1,735
06-12-23 조회 1,646
06-12-23 조회 1,787
06-12-23 조회 1,623
06-12-23 조회 1,800
06-12-23 조회 2,585
06-12-23 조회 1,599
06-12-23 조회 2,149
06-12-23 조회 1,692