그룹내 일부게시판을 제외하고 하나의 최신글형태로 내용을 정보
그룹내 일부게시판을 제외하고 하나의 최신글형태로 내용을본문
질문: http://sir.co.kr/bbs/board.php?bo_table=g4_qa&wr_id=10597
# bbs/new.php를 응용.
##############################################################
# 전체 검색에서는 특정 테이블을 제외하는데,
# 최신글을 bbs/group.php 형이 아니라 보드형으로 bbs/new.php 처럼 리스트하는데
# 그 형식으로는 특정 게시판을 제외하고 싶은데...안되고
# 또 코멘트순,히트순으로 리스트하는 것은 특정 기간내에 사라지고 부분별로 나뉘어져 있다.???
# 또 오름차순 정렬이 아니다?? 맞나요...??
#
# 게시판 관리에서 '최신글에 목록보이기' ?? 그런 기능이 없다면
# 단순하게 삽질하는 방법에 이런 방법도 있긴 하겠는데요..글쎄요죠...;;
#
# bbs/new.php 를 보시면 7라인 쯤에 아래의 두 라인이 있습니다.
/*
$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, $g4[group_table] c
where((a.bo_table = b.bo_table and b.gr_id = c.gr_id and b.bo_use_search = '1')
and ((
a.bo_table != 'G4_BOARD_1' and
a.bo_table != 'G4_BOARD_2' and
a.bo_table != '수정하세요'
)))";
# __________//여기까지를 위 처럼 바꾼후에
# a.bo_table !='이부분에 게시판관리시에 나타나는 빼고싶은 테이블을 삽입'and
# // 마지막엔 and 를 넣지 않습니다...
#########################################
//특정한 그룹에서만 뽑자...특정한 그룹명에서만 뽑으려면 추가.
//아래를 막으면 전체그룹...aaaa는 test 그룹명 입니다.
$gr_id='aaaa';
#########################################
if ($gr_id) $sql_common .= " and b.gr_id = '$gr_id' ";
if ($view == "w") $sql_common .= " and a.wr_id = a.wr_parent ";
else if ($view == "c")
$sql_common .= " and a.wr_id <> a.wr_parent ";
// 먼저 등록된 글이 밀려나지 않고 제일위에?? 오름차순 말인가요?
// 변경전// $sql_order = "order by a.bn_id desc";
$sql_order = "order by a.bn_id asc";
#########################################
$sql = " select count(*) as cnt $sql_common ";
$row = sql_fetch($sql);
$total_count = $row[cnt];
$rows = $config[cf_new_rows];
#########################################
//한 화면에 100개씩 보여주자...추가
$rows=100;
#########################################
#2005.11.29 dalsoo
#############################################################
$total_page = ceil($total_count / $rows); // 전체 페이지 계산
if (!$page) $page = 1; // 페이지가 없으면 첫 페이지 (1 페이지)
$from_record = ($page - 1) * $rows; // 시작 열을 구함
.
.
중략.
# bbs/new.php를 응용.
##############################################################
# 전체 검색에서는 특정 테이블을 제외하는데,
# 최신글을 bbs/group.php 형이 아니라 보드형으로 bbs/new.php 처럼 리스트하는데
# 그 형식으로는 특정 게시판을 제외하고 싶은데...안되고
# 또 코멘트순,히트순으로 리스트하는 것은 특정 기간내에 사라지고 부분별로 나뉘어져 있다.???
# 또 오름차순 정렬이 아니다?? 맞나요...??
#
# 게시판 관리에서 '최신글에 목록보이기' ?? 그런 기능이 없다면
# 단순하게 삽질하는 방법에 이런 방법도 있긴 하겠는데요..글쎄요죠...;;
#
# bbs/new.php 를 보시면 7라인 쯤에 아래의 두 라인이 있습니다.
/*
$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, $g4[group_table] c
where((a.bo_table = b.bo_table and b.gr_id = c.gr_id and b.bo_use_search = '1')
and ((
a.bo_table != 'G4_BOARD_1' and
a.bo_table != 'G4_BOARD_2' and
a.bo_table != '수정하세요'
)))";
# __________//여기까지를 위 처럼 바꾼후에
# a.bo_table !='이부분에 게시판관리시에 나타나는 빼고싶은 테이블을 삽입'and
# // 마지막엔 and 를 넣지 않습니다...
#########################################
//특정한 그룹에서만 뽑자...특정한 그룹명에서만 뽑으려면 추가.
//아래를 막으면 전체그룹...aaaa는 test 그룹명 입니다.
$gr_id='aaaa';
#########################################
if ($gr_id) $sql_common .= " and b.gr_id = '$gr_id' ";
if ($view == "w") $sql_common .= " and a.wr_id = a.wr_parent ";
else if ($view == "c")
$sql_common .= " and a.wr_id <> a.wr_parent ";
// 먼저 등록된 글이 밀려나지 않고 제일위에?? 오름차순 말인가요?
// 변경전// $sql_order = "order by a.bn_id desc";
$sql_order = "order by a.bn_id asc";
#########################################
$sql = " select count(*) as cnt $sql_common ";
$row = sql_fetch($sql);
$total_count = $row[cnt];
$rows = $config[cf_new_rows];
#########################################
//한 화면에 100개씩 보여주자...추가
$rows=100;
#########################################
#2005.11.29 dalsoo
#############################################################
$total_page = ceil($total_count / $rows); // 전체 페이지 계산
if (!$page) $page = 1; // 페이지가 없으면 첫 페이지 (1 페이지)
$from_record = ($page - 1) * $rows; // 시작 열을 구함
.
.
중략.
추천
2
2
댓글 13개
좋은팁 감사 합니다.
그런데 어렵네요..
g3 에서처럼 확실한 그룹 최신글이 g4에서는 안되나 보네요.
저처럼 초보자를 위하여 위의 내용을 잘 정리해서 그룹최신글을 뽑아쓸수 있도록 해 주시면 감사 하겠습니다.
그런데 어렵네요..
g3 에서처럼 확실한 그룹 최신글이 g4에서는 안되나 보네요.
저처럼 초보자를 위하여 위의 내용을 잘 정리해서 그룹최신글을 뽑아쓸수 있도록 해 주시면 감사 하겠습니다.
어렵지 않은데요? 질문대로 답변을...ㅋㅋ
bbs/new.php 의
include_once("./_head.php"); 밑에 다가
원본도 보존되었고 하니
위의 글을 그대로 복사하시면 됩니다. 주석처리가 되었으니...
처음부터 그대로 복사하셔서 붙여넣기 하셔도 됩니다.
$from_record = ($page - 1) * $rows; // 시작 열을 구함
여기까지를 복사합니다.
이하는 동일 합니다.
여기만 수정하시면 됩니다.
a.bo_table != '빼고싶은 테이블명1' and
a.bo_table != '또 다른 빼고싶은 테이블' and
a.bo_table != '없으면 공백처리'
bbs/new.php 의
include_once("./_head.php"); 밑에 다가
원본도 보존되었고 하니
위의 글을 그대로 복사하시면 됩니다. 주석처리가 되었으니...
처음부터 그대로 복사하셔서 붙여넣기 하셔도 됩니다.
$from_record = ($page - 1) * $rows; // 시작 열을 구함
여기까지를 복사합니다.
이하는 동일 합니다.
여기만 수정하시면 됩니다.
a.bo_table != '빼고싶은 테이블명1' and
a.bo_table != '또 다른 빼고싶은 테이블' and
a.bo_table != '없으면 공백처리'
좀 더 디테일하게 하자면 다음과 같습니다. group data 쿼리하는데 도움이 되시길 바랍니다.
모든 시작은 원본처럼 전체그룹에서 디폴트로 합니다.
전체그룹에서
1방법:세세하게 특정게시판만 제외합니다.
2방법:특정그룹만 제외합니다.
3방법:특정그룹과 특정게시판을 같이 제외합니다.
4방법:특정그룹만 출력합니다.
5.응용방법
제1방법에서 제외할 특정그룹을 지정하지않고 특정게시판만 적어주고 제3방법에서 특정그룹을 선택하면
특정그룹에서 제외되지않는 게시판만 출력되겠죠?
5.한 화면에 특정수만큼 출력합니다.
6.먼저쓴글이 상단에 출력되는 오름차순이나 나중에 쓴글이 상단에 출력되는 내림차순을 선택합니다.
7.언마우스시 글내용을 말풍선으로 출력되거나...
이미지 일때 쏴주는..그런 좀 가공하는 부분은 좀 노력하는...각자가 노력하면 되겠네요.
bbs/new.php 전체입니다.
자~~알 읽어보시면 이해가 되실겁니다.
<?
include_once("./_common.php");
$g4[title] = "최근 게시물";
include_once("./_head.php");
if ($bo_table) {
$board_HIT = sql_fetch(" select * from $g4[board_table] where bo_table = '$bo_table' ");
if ($board[bo_table]) {
$gr_HIT = $board[wr_hit];
}
}
# bbs/new.php
##############################################################
# 전체 검색에서는 특정 테이블을 제외하는데 최신글을 bbs/group.php가 아니라 보드형으로
# bbs/new.php 처럼 리스트하는데 그 형식으로는 특정 게시판을 제외하고 싶은데...안되고
# 또 코멘트순,히트순으로 리스트하는 것은 특정 기간내에 사라지고 부분별로 나뉘어져 있다.???
# 맞나요...??
# 게시판 관리에서 '최신글에 목록보이기' ?? 그런 기능이 없다면
# 단순하게 삽질하는 방법에 이런 방법도 있긴 하겠는데요..글쎄요죠...;;
#
# bbs/new.php 를 보시면 7라인 쯤에 아래의 두 라인이 있습니다.
/*
$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, $g4[group_table] c
where((a.bo_table = b.bo_table and b.gr_id = c.gr_id and b.bo_use_search = '1')
and ((
a.bo_table != 'gb4_baedal_special' and
a.bo_table != 'gb4_baedal_free' and
a.bo_table != 'basic_test'
)))";
*/
# __________//여기까지를 위 처럼 바꾼후에
# a.bo_table !='이부분에 게시판관리시에 나타나는 빼고싶은 테이블을 삽입'and
# // 마지막엔 and 를 넣지 않습니다...
# 또 다른 방법은 특정한 그룹과 특정한 테이블을 같이 제외하는
# 방법입니다. 위의 두라인을 아래처럼 바꿔주시면 됩니다.
# 세세하게 전체그룹에서 특정 테이블만 제외하시고 싶으시면
# 테이블을제외하시고 특정그룹만 제외하려면 하시고...
##############################################################
$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.gr_id != 'aaaa' and
b.gr_id != '제외할' and
b.gr_id != '그룹명' and
b.gr_id != '을점안에써넣어요'
)
)
and b.bo_use_search = '1')
and ((
a.bo_table != 'gb4_baedal_special' and
a.bo_table != '제외할' and
a.bo_table != '테이블명을' and
a.bo_table != '이처럼점안에써넣어요'))
)";
##############################################################
# 또 다른 방법
//위의 두 라인을 위 처럼 바꾸지않고
//특정한 그룹에서만 뽑자...특정한 그룹명에서만 뽑으려면 아래라인만 추가하면 됩니다.
//아래를 풀면 전체그룹에서 aaaa라는 그룹에서만 뽑아냅니다.
// $gr_id='aaaa';
#########################################
if ($gr_id) $sql_common .= " and b.gr_id = '$gr_id' ";
if ($view == "w") $sql_common .= " and a.wr_id = a.wr_parent ";
else if ($view == "c")
$sql_common .= " and a.wr_id <> a.wr_parent ";
// 먼저 등록된 글이 밀려나지 않고 제일위에?? 오름차순 말인가요?
// 그럼 아래처럼...내림차순
//$sql_order = "order by a.bn_id asc";
//나중에 쓴글이 제일 상단에..내림차순입니다. 디폴트로 내림차순.
$sql_order = "order by a.bn_id desc";
#########################################
//오다바이의 방법...테스트라인.
//$sql_order = "order by a.bn_id desc ";
//$sql_order = "order by b.gr_hit";
$sql = " select count(*) as cnt $sql_common ";
$row = sql_fetch($sql);
$total_count = $row[cnt];
$rows = $config[cf_new_rows];
#########################################
//한 화면에 강제로 100개씩 보여주자...자신이 원하는 만큼이죠.
//환경설정과 관련없고 아래를 막으면 환경설정대로되죠.
$rows=100;
#########################################
#2005.11.30 dalsoo
##############################################################
$total_page = ceil($total_count / $rows); // 전체 페이지 계산
if (!$page) $page = 1; // 페이지가 없으면 첫 페이지 (1 페이지)
$from_record = ($page - 1) * $rows; // 시작 열을 구함
$group_select = "<select name=gr_id id=gr_id onchange='select_change();'><option value=''>전체그룹";
$sql = " select gr_id, gr_subject from $g4[group_table] order by gr_id ";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++)
{
$group_select .= "<option value='$row[gr_id]'>$row[gr_subject]";
}
$group_select .= "</select>";
$list = array();
$sql = " select a.*, b.bo_subject, c.gr_subject, c.gr_id
$sql_common
$sql_order
limit $from_record, $rows ";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++)
{
$tmp_write_table = $g4[write_prefix] . $row[bo_table];
if ($row[wr_id] == $row[wr_parent]) // 원글
{
$comment = "";
$comment_link = "";
// $row2 = sql_fetch(" select * from $tmp_write_table where wr_id = '$row[wr_id]'");
$row2 = sql_fetch(" select * from $tmp_write_table where wr_id = '$row[wr_id]' order by '$row[wr_hit]'");
$list[$i] = $row2;
$name = get_sideview($row2[mb_id], cut_str($row2[wr_name], $config[cf_cut_name]), $row2[wr_email], $row2[wr_homepage]);
//test step...추가
echo"<font coror='#006699'>
<b>tmp_테이블: </b>$tmp_write_table
<b>row2_HIT: </b><font color='red'>$row2[wr_hit]</font>
<b>row_wr_id :</b> $row[wr_id]
</font><br>";
// 당일인 경우 시간으로 표시함
$datetime = substr($row2[wr_datetime],0,10);
$datetime2 = $row2[wr_datetime];
if ($datetime == $g4[time_ymd])
$datetime2 = substr($datetime2,11,5);
else
$datetime2 = substr($datetime2,5,5);
}
else // 코멘트
{
$comment = "[코] ";
$comment_link = "#c_{$row[wr_id]}";
$row2 = sql_fetch(" select * from $tmp_write_table where wr_id = '$row[wr_parent]' ");
$row3 = sql_fetch(" select mb_id, wr_name, wr_email, wr_homepage, wr_datetime from $tmp_write_table where wr_id = '$row[wr_id]' ");
$list[$i] = $row2;
$list[$i][mb_id] = $row3[mb_id];
$list[$i][wr_name] = $row3[wr_name];
$list[$i][wr_email] = $row3[wr_email];
$list[$i][wr_homepage] = $row3[wr_homepage];
$name = get_sideview($row3[mb_id], cut_str($row3[wr_name], $config[cf_cut_name]), $row3[wr_email], $row3[wr_homepage]);
//test step...추가
//echo"<font coror='#006699'>$row3[wr_hit] </font>";
// 당일인 경우 시간으로 표시함
$datetime = substr($row3[wr_datetime],0,10);
$datetime2 = $row3[wr_datetime];
if ($datetime == $g4[time_ymd])
$datetime2 = substr($datetime2,11,5);
else
$datetime2 = substr($datetime2,5,5);
}
$list[$i][gr_id] = $row[gr_id];
$list[$i][bo_table] = $row[bo_table];
$list[$i][name] = $name;
$list[$i][comment] = $comment;
$list[$i][href] = "./board.php?bo_table=$row[bo_table]&wr_id=$row2[wr_id]{$comment_link}";
$list[$i][datetime] = $datetime;
$list[$i][datetime2] = $datetime2;
$list[$i][gr_subject] = $row[gr_subject];
$list[$i][bo_subject] = $row[bo_subject];
$list[$i][wr_subject] = $row2[wr_subject];
//추가
$list[$i][gr_wr_hit] = $row2[wr_hit];
}
$write_pages = get_paging($config[cf_write_pages], $page, $total_page, "?gr_id=$gr_id&view=$view&page=");
$new_skin_path = "$g4[path]/skin/new/$config[cf_new_skin]";
echo "<script language=\"javascript\" src=\"$g4[path]/js/sideview.js\"></script>\n";
include_once("$new_skin_path/new.skin.php");
include_once("./_tail.php");
?>
모든 시작은 원본처럼 전체그룹에서 디폴트로 합니다.
전체그룹에서
1방법:세세하게 특정게시판만 제외합니다.
2방법:특정그룹만 제외합니다.
3방법:특정그룹과 특정게시판을 같이 제외합니다.
4방법:특정그룹만 출력합니다.
5.응용방법
제1방법에서 제외할 특정그룹을 지정하지않고 특정게시판만 적어주고 제3방법에서 특정그룹을 선택하면
특정그룹에서 제외되지않는 게시판만 출력되겠죠?
5.한 화면에 특정수만큼 출력합니다.
6.먼저쓴글이 상단에 출력되는 오름차순이나 나중에 쓴글이 상단에 출력되는 내림차순을 선택합니다.
7.언마우스시 글내용을 말풍선으로 출력되거나...
이미지 일때 쏴주는..그런 좀 가공하는 부분은 좀 노력하는...각자가 노력하면 되겠네요.
bbs/new.php 전체입니다.
자~~알 읽어보시면 이해가 되실겁니다.
<?
include_once("./_common.php");
$g4[title] = "최근 게시물";
include_once("./_head.php");
if ($bo_table) {
$board_HIT = sql_fetch(" select * from $g4[board_table] where bo_table = '$bo_table' ");
if ($board[bo_table]) {
$gr_HIT = $board[wr_hit];
}
}
# bbs/new.php
##############################################################
# 전체 검색에서는 특정 테이블을 제외하는데 최신글을 bbs/group.php가 아니라 보드형으로
# bbs/new.php 처럼 리스트하는데 그 형식으로는 특정 게시판을 제외하고 싶은데...안되고
# 또 코멘트순,히트순으로 리스트하는 것은 특정 기간내에 사라지고 부분별로 나뉘어져 있다.???
# 맞나요...??
# 게시판 관리에서 '최신글에 목록보이기' ?? 그런 기능이 없다면
# 단순하게 삽질하는 방법에 이런 방법도 있긴 하겠는데요..글쎄요죠...;;
#
# bbs/new.php 를 보시면 7라인 쯤에 아래의 두 라인이 있습니다.
/*
$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, $g4[group_table] c
where((a.bo_table = b.bo_table and b.gr_id = c.gr_id and b.bo_use_search = '1')
and ((
a.bo_table != 'gb4_baedal_special' and
a.bo_table != 'gb4_baedal_free' and
a.bo_table != 'basic_test'
)))";
*/
# __________//여기까지를 위 처럼 바꾼후에
# a.bo_table !='이부분에 게시판관리시에 나타나는 빼고싶은 테이블을 삽입'and
# // 마지막엔 and 를 넣지 않습니다...
# 또 다른 방법은 특정한 그룹과 특정한 테이블을 같이 제외하는
# 방법입니다. 위의 두라인을 아래처럼 바꿔주시면 됩니다.
# 세세하게 전체그룹에서 특정 테이블만 제외하시고 싶으시면
# 테이블을제외하시고 특정그룹만 제외하려면 하시고...
##############################################################
$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.gr_id != 'aaaa' and
b.gr_id != '제외할' and
b.gr_id != '그룹명' and
b.gr_id != '을점안에써넣어요'
)
)
and b.bo_use_search = '1')
and ((
a.bo_table != 'gb4_baedal_special' and
a.bo_table != '제외할' and
a.bo_table != '테이블명을' and
a.bo_table != '이처럼점안에써넣어요'))
)";
##############################################################
# 또 다른 방법
//위의 두 라인을 위 처럼 바꾸지않고
//특정한 그룹에서만 뽑자...특정한 그룹명에서만 뽑으려면 아래라인만 추가하면 됩니다.
//아래를 풀면 전체그룹에서 aaaa라는 그룹에서만 뽑아냅니다.
// $gr_id='aaaa';
#########################################
if ($gr_id) $sql_common .= " and b.gr_id = '$gr_id' ";
if ($view == "w") $sql_common .= " and a.wr_id = a.wr_parent ";
else if ($view == "c")
$sql_common .= " and a.wr_id <> a.wr_parent ";
// 먼저 등록된 글이 밀려나지 않고 제일위에?? 오름차순 말인가요?
// 그럼 아래처럼...내림차순
//$sql_order = "order by a.bn_id asc";
//나중에 쓴글이 제일 상단에..내림차순입니다. 디폴트로 내림차순.
$sql_order = "order by a.bn_id desc";
#########################################
//오다바이의 방법...테스트라인.
//$sql_order = "order by a.bn_id desc ";
//$sql_order = "order by b.gr_hit";
$sql = " select count(*) as cnt $sql_common ";
$row = sql_fetch($sql);
$total_count = $row[cnt];
$rows = $config[cf_new_rows];
#########################################
//한 화면에 강제로 100개씩 보여주자...자신이 원하는 만큼이죠.
//환경설정과 관련없고 아래를 막으면 환경설정대로되죠.
$rows=100;
#########################################
#2005.11.30 dalsoo
##############################################################
$total_page = ceil($total_count / $rows); // 전체 페이지 계산
if (!$page) $page = 1; // 페이지가 없으면 첫 페이지 (1 페이지)
$from_record = ($page - 1) * $rows; // 시작 열을 구함
$group_select = "<select name=gr_id id=gr_id onchange='select_change();'><option value=''>전체그룹";
$sql = " select gr_id, gr_subject from $g4[group_table] order by gr_id ";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++)
{
$group_select .= "<option value='$row[gr_id]'>$row[gr_subject]";
}
$group_select .= "</select>";
$list = array();
$sql = " select a.*, b.bo_subject, c.gr_subject, c.gr_id
$sql_common
$sql_order
limit $from_record, $rows ";
$result = sql_query($sql);
for ($i=0; $row=sql_fetch_array($result); $i++)
{
$tmp_write_table = $g4[write_prefix] . $row[bo_table];
if ($row[wr_id] == $row[wr_parent]) // 원글
{
$comment = "";
$comment_link = "";
// $row2 = sql_fetch(" select * from $tmp_write_table where wr_id = '$row[wr_id]'");
$row2 = sql_fetch(" select * from $tmp_write_table where wr_id = '$row[wr_id]' order by '$row[wr_hit]'");
$list[$i] = $row2;
$name = get_sideview($row2[mb_id], cut_str($row2[wr_name], $config[cf_cut_name]), $row2[wr_email], $row2[wr_homepage]);
//test step...추가
echo"<font coror='#006699'>
<b>tmp_테이블: </b>$tmp_write_table
<b>row2_HIT: </b><font color='red'>$row2[wr_hit]</font>
<b>row_wr_id :</b> $row[wr_id]
</font><br>";
// 당일인 경우 시간으로 표시함
$datetime = substr($row2[wr_datetime],0,10);
$datetime2 = $row2[wr_datetime];
if ($datetime == $g4[time_ymd])
$datetime2 = substr($datetime2,11,5);
else
$datetime2 = substr($datetime2,5,5);
}
else // 코멘트
{
$comment = "[코] ";
$comment_link = "#c_{$row[wr_id]}";
$row2 = sql_fetch(" select * from $tmp_write_table where wr_id = '$row[wr_parent]' ");
$row3 = sql_fetch(" select mb_id, wr_name, wr_email, wr_homepage, wr_datetime from $tmp_write_table where wr_id = '$row[wr_id]' ");
$list[$i] = $row2;
$list[$i][mb_id] = $row3[mb_id];
$list[$i][wr_name] = $row3[wr_name];
$list[$i][wr_email] = $row3[wr_email];
$list[$i][wr_homepage] = $row3[wr_homepage];
$name = get_sideview($row3[mb_id], cut_str($row3[wr_name], $config[cf_cut_name]), $row3[wr_email], $row3[wr_homepage]);
//test step...추가
//echo"<font coror='#006699'>$row3[wr_hit] </font>";
// 당일인 경우 시간으로 표시함
$datetime = substr($row3[wr_datetime],0,10);
$datetime2 = $row3[wr_datetime];
if ($datetime == $g4[time_ymd])
$datetime2 = substr($datetime2,11,5);
else
$datetime2 = substr($datetime2,5,5);
}
$list[$i][gr_id] = $row[gr_id];
$list[$i][bo_table] = $row[bo_table];
$list[$i][name] = $name;
$list[$i][comment] = $comment;
$list[$i][href] = "./board.php?bo_table=$row[bo_table]&wr_id=$row2[wr_id]{$comment_link}";
$list[$i][datetime] = $datetime;
$list[$i][datetime2] = $datetime2;
$list[$i][gr_subject] = $row[gr_subject];
$list[$i][bo_subject] = $row[bo_subject];
$list[$i][wr_subject] = $row2[wr_subject];
//추가
$list[$i][gr_wr_hit] = $row2[wr_hit];
}
$write_pages = get_paging($config[cf_write_pages], $page, $total_page, "?gr_id=$gr_id&view=$view&page=");
$new_skin_path = "$g4[path]/skin/new/$config[cf_new_skin]";
echo "<script language=\"javascript\" src=\"$g4[path]/js/sideview.js\"></script>\n";
include_once("$new_skin_path/new.skin.php");
include_once("./_tail.php");
?>
좋은 정보와 자세한 설명 감사 드립니다.
그런데 질문중에..
=========내용=========
- 가장 큰 문제는....환경설정에서 일정기간이 지나면 자동으로 삭제되기 때문인데,
new.php를 응용하게 되면 메인화면에서 기존의 '게시판최신글스킨'형태처럼 '상위'의 글들을
가져와서 등록되는 순대로 밀려나가면서 항상 지정한 갯수만큼 유지되는게 아니라,
일정기간 글들이 등록되지 아니하면 자동으로 사라지므로 문제가 좀 있는거 같습니다.
=====================
위의 내용도 살펴봐 주십시요.
그리고 설명중에..
#########################################
//한 화면에 강제로 100개씩 보여주자...자신이 원하는 만큼이죠.
//환경설정과 관련없고 아래를 막으면 환경설정대로되죠.
$rows=100;
#########################################
이부분을 적용해 보니 일단 원하는 숫자많큼 화면에 보여지는데..
나머지는 다음페이지로 페이징 됩니다.
메인에 그룹최신글로 활용하기에는..??
질문의 목적은 G3 에서처럼 완벽한 그룹최신글 뽑기입니다.
링크참조 : http://www.sir.co.kr/bbs/board.php?bo_table=g3_skin&wr_id=1186
번거롭게 해드려 죄송 합니다.
그리고 좋은정보 다시한번 감사 드립니다.
그런데 질문중에..
=========내용=========
- 가장 큰 문제는....환경설정에서 일정기간이 지나면 자동으로 삭제되기 때문인데,
new.php를 응용하게 되면 메인화면에서 기존의 '게시판최신글스킨'형태처럼 '상위'의 글들을
가져와서 등록되는 순대로 밀려나가면서 항상 지정한 갯수만큼 유지되는게 아니라,
일정기간 글들이 등록되지 아니하면 자동으로 사라지므로 문제가 좀 있는거 같습니다.
=====================
위의 내용도 살펴봐 주십시요.
그리고 설명중에..
#########################################
//한 화면에 강제로 100개씩 보여주자...자신이 원하는 만큼이죠.
//환경설정과 관련없고 아래를 막으면 환경설정대로되죠.
$rows=100;
#########################################
이부분을 적용해 보니 일단 원하는 숫자많큼 화면에 보여지는데..
나머지는 다음페이지로 페이징 됩니다.
메인에 그룹최신글로 활용하기에는..??
질문의 목적은 G3 에서처럼 완벽한 그룹최신글 뽑기입니다.
링크참조 : http://www.sir.co.kr/bbs/board.php?bo_table=g3_skin&wr_id=1186
번거롭게 해드려 죄송 합니다.
그리고 좋은정보 다시한번 감사 드립니다.
환경설정에서 복구/최적화를 누르지 않으면 삭제가 되지는 않을건데요...
아시는분 답변 좀 부탁드립니다.
최신글을 가져오는데 ((오늘 ㅡ 쓴날) > 설정일) 을 검사하는 쿼리는 없어보입니다만..
자동으로 삭제하는 코드는 아무리봐도 아래의 1개 밖에 없는 듯 한데요...
adm/repair.php
// 설정일이 지난 최근게시물 삭제
$sql = " delete from $g4[board_new_table] where (TO_DAYS('$g4[time_ymdhis]') - TO_DAYS(bn_datetime)) > '$config[cf_new_del]' ";
sql_query($sql);
sql_query(" OPTIMIZE TABLE `$g4[board_new_table]` ");
다음페이지 식으로 목록이 보여지지 않는 완벽한 스킨??
최신글 로직은 너무너무 쉬운일 입니다.
잘 만드신분께 스킨을 요청을 하시길 바랄께요...g4 용으로는 없나 보군요..?
이해해주시길.. ^^;
아시는분 답변 좀 부탁드립니다.
최신글을 가져오는데 ((오늘 ㅡ 쓴날) > 설정일) 을 검사하는 쿼리는 없어보입니다만..
자동으로 삭제하는 코드는 아무리봐도 아래의 1개 밖에 없는 듯 한데요...
adm/repair.php
// 설정일이 지난 최근게시물 삭제
$sql = " delete from $g4[board_new_table] where (TO_DAYS('$g4[time_ymdhis]') - TO_DAYS(bn_datetime)) > '$config[cf_new_del]' ";
sql_query($sql);
sql_query(" OPTIMIZE TABLE `$g4[board_new_table]` ");
다음페이지 식으로 목록이 보여지지 않는 완벽한 스킨??
최신글 로직은 너무너무 쉬운일 입니다.
잘 만드신분께 스킨을 요청을 하시길 바랄께요...g4 용으로는 없나 보군요..?
이해해주시길.. ^^;
오달수님 끝까지 좋은답변 감사 합니다.
다음소스 좀 살펴봐 주십시요.
<table width="100%" cellpadding=0 cellspacing=0>
<? // 그룹별, 게시판별 최신글
$gr_id = "board";
$sql = " select bo_table, bo_subject from $g4[board_table] where gr_id = '$gr_id' and bo_use_search=1 order by bo_order_search limit 5";
$result = sql_query($sql);
$k=0;
echo "<tr valign='top'>";
for ($i=0; $row=mysql_fetch_array($result); $i++) {
$k=$k+1;
echo "<td>";
echo latest('basic', $row[bo_table], 1, 35);
echo "</td>";
if($k==1) {echo "</tr><tr valign='top'><td height=1 bgcolor=#EFEFEF></td></tr>"; $k=0;}
}
?>
</table>
위의 소스는 아래 링크에서 가져 왔습니다.
질문의 원하는 대로 다 잘되는데..
정렬이 등록순으로 오름차 또는 내림차 순으로 정렬이 안되고 게시판명의 검색순으로 되는것 같습니다.
게시판에 상관없이 등록순으로 오름차 또는 내림차 순으로 정렬할수 없을까요?
지금까지 애써 주셨는데 한번더 봐 주십시요.
링크참조 : http://www.sir.co.kr/bbs/board.php?bo_table=g4_qa&wr_id=8858
다음소스 좀 살펴봐 주십시요.
<table width="100%" cellpadding=0 cellspacing=0>
<? // 그룹별, 게시판별 최신글
$gr_id = "board";
$sql = " select bo_table, bo_subject from $g4[board_table] where gr_id = '$gr_id' and bo_use_search=1 order by bo_order_search limit 5";
$result = sql_query($sql);
$k=0;
echo "<tr valign='top'>";
for ($i=0; $row=mysql_fetch_array($result); $i++) {
$k=$k+1;
echo "<td>";
echo latest('basic', $row[bo_table], 1, 35);
echo "</td>";
if($k==1) {echo "</tr><tr valign='top'><td height=1 bgcolor=#EFEFEF></td></tr>"; $k=0;}
}
?>
</table>
위의 소스는 아래 링크에서 가져 왔습니다.
질문의 원하는 대로 다 잘되는데..
정렬이 등록순으로 오름차 또는 내림차 순으로 정렬이 안되고 게시판명의 검색순으로 되는것 같습니다.
게시판에 상관없이 등록순으로 오름차 또는 내림차 순으로 정렬할수 없을까요?
지금까지 애써 주셨는데 한번더 봐 주십시요.
링크참조 : http://www.sir.co.kr/bbs/board.php?bo_table=g4_qa&wr_id=8858
g4_board 을 가공하면 그룹이 아닌 특정게시판에서 선후만 구별합니다.
검색 속도와 그룹관리 때문에 g4_board_new 를 쓰는듯 합니다.
물론 그룹관리의 난해한 점도 있겠구요.
그누의 메인의 방법처럼 g4_board_new 테이블을 가공하지도 않고
또 우선순위로도 아니고 현재 올라온 글도 아니고
그룹분할도 아니고 전체그룹에서 게시판구별없이 최신글을
일정기간에 삭제되지도 않아야하고...
라테스트에는 게시물 테이블명도 나오고 하는데
안나오면서 '한개의 게시물 리스트처럼'..이라고 하시기에
특정 그룹에서 최신글을 뽑아온 게시판식 최신글인줄 알았습니다.
db 에 접근하는 방법은 개인마다 다 틀리지만
현재로써는 간단하면서 좋은 방법이 위의 소스로는 떠오르지가 않네요...
소스말고
g3든 g4 든 실지로 구현되는 링크나 이미지나 레이아웃을 가르쳐주십시요.
검색 속도와 그룹관리 때문에 g4_board_new 를 쓰는듯 합니다.
물론 그룹관리의 난해한 점도 있겠구요.
그누의 메인의 방법처럼 g4_board_new 테이블을 가공하지도 않고
또 우선순위로도 아니고 현재 올라온 글도 아니고
그룹분할도 아니고 전체그룹에서 게시판구별없이 최신글을
일정기간에 삭제되지도 않아야하고...
라테스트에는 게시물 테이블명도 나오고 하는데
안나오면서 '한개의 게시물 리스트처럼'..이라고 하시기에
특정 그룹에서 최신글을 뽑아온 게시판식 최신글인줄 알았습니다.
db 에 접근하는 방법은 개인마다 다 틀리지만
현재로써는 간단하면서 좋은 방법이 위의 소스로는 떠오르지가 않네요...
소스말고
g3든 g4 든 실지로 구현되는 링크나 이미지나 레이아웃을 가르쳐주십시요.
최신글
최신글
팁 고맙습니다
잘 사용하겟습니다
잘 사용하겟습니다
찾던 내용입니다....감사

좋은 팁 감사합니다.

잘쓰겠습니다