갤러리 최근게시물 그룹별 출력 ??? 정보
갤러리 최근게시물 그룹별 출력 ???
관련링크
본문
댓글 전체
몬지 모르면서 덮석~~~~~~~~~~
제가 1등입니다.
담배 한대 피고...소스 보고 글 남길게요.
제가 1등입니다.
담배 한대 피고...소스 보고 글 남길게요.

제작하신분은 스킨자료실에 올려주세요, 모두다 공유해서 쓰면 좋을듯합니다.
감사합니다.
감사합니다.

알라뷰님을 검색해 보세요~!

연후아빠님 감사합니다. ^^
오해 있을가봐 질문 드립니다. (제가 좀...언어적 이해력이...킁.)
최근게시글에 뿌려주려면..어차피..
$sql = " select bo_table, bo_subject from $g4[board_table] order by gr_id, bo_table ";
조정하면 되지만...
지금 원하시는게 정확하게...
최근글을 여러 형태로 나타내는건 어려운게 아니기 때문에.. 몇가지 질문드려요.
제가 오늘(12일) 주간근무라.. ^^ 충분히 시간을 낼수 있겠네요..
용어상의 오해가 있을가봐 질문드려요. ^^
그릅별 최신글..
1. 여러가지로 쓰이는 용어라서요.. 한게의 테이블(게시판)을 그룹별(분류)로 나눠서....그 해당되는 최신글을 축출하길 원하시는지요.??
2. 아니면 특정 몇개에 게시판에서만 최신글을 축출해서 뿌려주면 되는지요.?
3. 아니면 모든게시판을 그룹으로 나눠서...거기에 해당되는 최신글만을 뽑아오는지요.?
4. 혹시.. 켈러리스킨을 쓴 게시판만 불러와서 그룹별(분류별)로 뿌려주면 돼는지요.??
아니면 위 4가지 모두가 필요한건가요.?? ㅎㅎ
==============================================
그룹별로 최근게시물 출력되게 하려면
==============================================
^^ 용어상의 오해가 발생하지 않도록 질문드리고 글 올려드릴게요.. 답변 부탁해요.
최근게시글에 뿌려주려면..어차피..
$sql = " select bo_table, bo_subject from $g4[board_table] order by gr_id, bo_table ";
조정하면 되지만...
지금 원하시는게 정확하게...
최근글을 여러 형태로 나타내는건 어려운게 아니기 때문에.. 몇가지 질문드려요.
제가 오늘(12일) 주간근무라.. ^^ 충분히 시간을 낼수 있겠네요..
용어상의 오해가 있을가봐 질문드려요. ^^
그릅별 최신글..
1. 여러가지로 쓰이는 용어라서요.. 한게의 테이블(게시판)을 그룹별(분류)로 나눠서....그 해당되는 최신글을 축출하길 원하시는지요.??
2. 아니면 특정 몇개에 게시판에서만 최신글을 축출해서 뿌려주면 되는지요.?
3. 아니면 모든게시판을 그룹으로 나눠서...거기에 해당되는 최신글만을 뽑아오는지요.?
4. 혹시.. 켈러리스킨을 쓴 게시판만 불러와서 그룹별(분류별)로 뿌려주면 돼는지요.??
아니면 위 4가지 모두가 필요한건가요.?? ㅎㅎ
==============================================
그룹별로 최근게시물 출력되게 하려면
==============================================
^^ 용어상의 오해가 발생하지 않도록 질문드리고 글 올려드릴게요.. 답변 부탁해요.

다 믿고 해야지요, 저도 믿어주셔서 감사합니다.
아래 설명드리면 아실겁니다.
보통 홈페이지 만들때
그룹1은 회사소개 입니다,.(인사말, 약도, 조직도)
그룹2는 상품소개 게시판입니다. (A형반도체, B형반도체, C형반도체)
그룹3은 자료실(자료실1,자료실2,자료실3...)
등등...
여기서 그룹2에 포함된 상품소개 게시판(3개)에 상품을 올리면 메인에 최신글로 뽑아오는 형식입니다.
그룹2에 올리는 상품은 모두 최근게시됩니다.
설명은 쉽지 않나요? 작업이 어려워서 그렇죠,, ㅜㅜ
수고많으십니다.
감사합니다.
아래 설명드리면 아실겁니다.
보통 홈페이지 만들때
그룹1은 회사소개 입니다,.(인사말, 약도, 조직도)
그룹2는 상품소개 게시판입니다. (A형반도체, B형반도체, C형반도체)
그룹3은 자료실(자료실1,자료실2,자료실3...)
등등...
여기서 그룹2에 포함된 상품소개 게시판(3개)에 상품을 올리면 메인에 최신글로 뽑아오는 형식입니다.
그룹2에 올리는 상품은 모두 최근게시됩니다.
설명은 쉽지 않나요? 작업이 어려워서 그렇죠,, ㅜㅜ
수고많으십니다.
감사합니다.
^^
아래파일 보시고...다시 말씀해 주세요.
===================================================================================
<?
$mct = " gr_id = 'shop' "; // 그릅명을 여기에 입력하시면 됩니다.
$sql = " select bo_table, bo_subject from $g4[board_table] where $mct order by gr_id, bo_table ";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++) {
echo latest("ptbasic", $row['bo_table'], 12, 70, "4,25");
echo "<p>\n";
}
?>
===============================================================================
같은 그릅에 속한 테이블만 불러옵니다.
$mct = " gr_id = 'shop' "; // 그릅명을 여기에 입력하시면 됩니다.
이 부분에 그릅명을 입력하면 해당그릅을 불러오는데요....
적용해보시구요...또 글 올려주세요.. 설마 위에꺼 말씀하시는건 아니죠.?
혹시 그릅에 속한 내용은 할줄에 같이 나오도록 할가요.??
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
만약 그릅별로 최신글에서.. 배열을 달리하는부분.. 즉, 2개의 테이블내용을 같이 보여주거나.. 아니면 기타 원하시는 구조를 생각하시면 .. latest함수를 새로 만들어 드릴게요. ^^
===================================================================================
<?
$mct = " gr_id = 'shop' "; // 그릅명을 여기에 입력하시면 됩니다.
$sql = " select bo_table, bo_subject from $g4[board_table] where $mct order by gr_id, bo_table ";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++) {
echo latest("ptbasic", $row['bo_table'], 12, 70, "4,25");
echo "<p>\n";
}
?>
===============================================================================
같은 그릅에 속한 테이블만 불러옵니다.
$mct = " gr_id = 'shop' "; // 그릅명을 여기에 입력하시면 됩니다.
이 부분에 그릅명을 입력하면 해당그릅을 불러오는데요....
적용해보시구요...또 글 올려주세요.. 설마 위에꺼 말씀하시는건 아니죠.?
혹시 그릅에 속한 내용은 할줄에 같이 나오도록 할가요.??
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
만약 그릅별로 최신글에서.. 배열을 달리하는부분.. 즉, 2개의 테이블내용을 같이 보여주거나.. 아니면 기타 원하시는 구조를 생각하시면 .. latest함수를 새로 만들어 드릴게요. ^^
^^ 그냥 이것저것 올릴게요.
특정게시판만 불러올려면 아래처럼.
===================================
<?
echo latest("ptbasic", "shop", 12, 70, "4,25");
?>
특정게시판만 불러올려면 아래처럼.
===================================
<?
echo latest("ptbasic", "shop", 12, 70, "4,25");
?>
같은그릅에 속한 테이블 (a.b.c) 을 한곳에서 보여주고싶을경우.
====================================================================
// 최신글 추출
function latest_gr($skin_dir="", $bo_table,$gr_table, $rows=10, $subject_len=40, $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; // 게시판 테이블 전체이름
$sql = " select * from $gr_table where wr_is_comment = 0 order by wr_id 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;
}
============================================================================
위 함수를 적당한곳에 넣으세요.
(gnuboard4/lib/latest.lib.php <<--- 여기 추천합니다. )
아래를 붙여넣으시면 됩니다. (아래꺼 쓸려면 몇가지 경로 수정.....)
================================================================
<?
// 그릅에 속한테이블을 그냥 수동으로 해도 무방할거 같아요. ^^
// 간단 간단 하게 생각했습니다.
//불러오고 싶은 테이블들 $gr_table 에 실재 테이블명을 넣어주세요.
$gr_table = " g4_write_test1 , g4_write_test2, g4_write_test3 ";
echo latest_gr("ptbasic", "shop",$gr_table = $gr_table,12, 70, "4,25");
?>
몇개의 테이블을 합쳐서 뿌려줄경우 수정해야 할 파일들이 생기내요( 경로)..
혹시 위와 같은 기능이면..말씀해주세요.
====================================================================
// 최신글 추출
function latest_gr($skin_dir="", $bo_table,$gr_table, $rows=10, $subject_len=40, $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; // 게시판 테이블 전체이름
$sql = " select * from $gr_table where wr_is_comment = 0 order by wr_id 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;
}
============================================================================
위 함수를 적당한곳에 넣으세요.
(gnuboard4/lib/latest.lib.php <<--- 여기 추천합니다. )
아래를 붙여넣으시면 됩니다. (아래꺼 쓸려면 몇가지 경로 수정.....)
================================================================
<?
// 그릅에 속한테이블을 그냥 수동으로 해도 무방할거 같아요. ^^
// 간단 간단 하게 생각했습니다.
//불러오고 싶은 테이블들 $gr_table 에 실재 테이블명을 넣어주세요.
$gr_table = " g4_write_test1 , g4_write_test2, g4_write_test3 ";
echo latest_gr("ptbasic", "shop",$gr_table = $gr_table,12, 70, "4,25");
?>
몇개의 테이블을 합쳐서 뿌려줄경우 수정해야 할 파일들이 생기내요( 경로)..
혹시 위와 같은 기능이면..말씀해주세요.

죄송합니다 제가 PHP에대해 아는게 없어서 다른방식으로 설명해주시면 안되나요?
1. 위 코드를 이용해서 최근게시물 스킨을 만들어야하는것인지?
2. 아니면 위내용을 삽입만 하는것인지 ?
죄송합니다. 지정 안해주시면 제가 사용하는방법을 몰라서요 ㅜㅜ
ex)
1. 나타낼곳에 <?=latest('ptbasic','게시판명', 5, 1004); //제목길게 스킨에서설정?> 삽입
2. lib/latest.lib.php 상단에 아래 삽입..
<?
내용.....
?>
제가 너무 아는게없어서요,
죄송합니다.
1. 위 코드를 이용해서 최근게시물 스킨을 만들어야하는것인지?
2. 아니면 위내용을 삽입만 하는것인지 ?
죄송합니다. 지정 안해주시면 제가 사용하는방법을 몰라서요 ㅜㅜ
ex)
1. 나타낼곳에 <?=latest('ptbasic','게시판명', 5, 1004); //제목길게 스킨에서설정?> 삽입
2. lib/latest.lib.php 상단에 아래 삽입..
<?
내용.....
?>
제가 너무 아는게없어서요,
죄송합니다.
에공 답변 늦어서 죄송해요..
아래 파일을 그대로 index.php 에 올려보세요..
<?
$mct = " gr_id = 'shop' "; // 그릅명을 여기에 입력하시면 됩니다.
$sql = " select bo_table, bo_subject from $g4[board_table] where $mct order by gr_id, bo_table ";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++) {
echo latest("ptbasic", $row['bo_table'], 12, 70, "4,25");
echo "<p>\n";
}
?>
===========================================================
위에 보시면..
$mct = " gr_id = 'shop' "; // 그릅명을 여기에 입력하시면 됩니다.
이부분 있어요... shop <<=== 이걸 그룹명.....으로 바꾸시면 .......
쪽지부탁해요.^^
아래 파일을 그대로 index.php 에 올려보세요..
<?
$mct = " gr_id = 'shop' "; // 그릅명을 여기에 입력하시면 됩니다.
$sql = " select bo_table, bo_subject from $g4[board_table] where $mct order by gr_id, bo_table ";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++) {
echo latest("ptbasic", $row['bo_table'], 12, 70, "4,25");
echo "<p>\n";
}
?>
===========================================================
위에 보시면..
$mct = " gr_id = 'shop' "; // 그릅명을 여기에 입력하시면 됩니다.
이부분 있어요... shop <<=== 이걸 그룹명.....으로 바꾸시면 .......
쪽지부탁해요.^^

추출방법
<?= latest_group("스킨", 그룹, 이미지수, 글자수)?>
<?= latest_group("tablegalgroup", z6, 50, 50)?>
******************************************************
사용하실 이미지 최신스킨에서
$i - $k 이걸로 전부 수정
*****************************************************
lib/userfunction.lib.php 저장
출력하고자 하는 상단에 경로표시
include_once("$g4[path]/lib/userfunction.lib.php");
--------------------------------------
<?
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";
else
$latest_skin_path = "$g4[path]/skin/latest/$config[cf_latest_skin]";
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);
$list[$k][bo_table] = $board[bo_table];
$list[$k][bo_subject] = $board[bo_subject];
$list[$k][bo_wr_subject] = cut_str($board[bo_subject] . $list[$k][wr_subject], $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;
}
/// 함수 정의 끝
?>
***************************************************
테스트 결과 아주 잘됩니다~!
원본주소
http://www.sir.co.kr/bbs/tb.php/g4_tiptech/1843/32e483fabde79d29db6ffc55447bae6c
<?= latest_group("스킨", 그룹, 이미지수, 글자수)?>
<?= latest_group("tablegalgroup", z6, 50, 50)?>
******************************************************
사용하실 이미지 최신스킨에서
$i - $k 이걸로 전부 수정
*****************************************************
lib/userfunction.lib.php 저장
출력하고자 하는 상단에 경로표시
include_once("$g4[path]/lib/userfunction.lib.php");
--------------------------------------
<?
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";
else
$latest_skin_path = "$g4[path]/skin/latest/$config[cf_latest_skin]";
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);
$list[$k][bo_table] = $board[bo_table];
$list[$k][bo_subject] = $board[bo_subject];
$list[$k][bo_wr_subject] = cut_str($board[bo_subject] . $list[$k][wr_subject], $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;
}
/// 함수 정의 끝
?>
***************************************************
테스트 결과 아주 잘됩니다~!
원본주소
http://www.sir.co.kr/bbs/tb.php/g4_tiptech/1843/32e483fabde79d29db6ffc55447bae6c
연후 아빠님 고맙습니다. ^^ 휴 다행~~
와~ 멋지네 ㅎㅎㅎ

좋은데
감사감사~!