k

게시판에서 공지글 재출력 걸러내기 입니다.

게시판에서 공지글이 일반 리스트 화면에도 같이 뜨는걸
막기 위한 것입니다.

다른분이 올려두신 팁이 있는데, 좀 다르기에 글 남깁니다.

제가 간단히 테스트 해본 바로는 인덱스가 걸리는데, 정확한지는 모르겠네요.


/bbs/list.php 에서 아래의 부분을

if ($sca || $stx)
{
$sql = " select distinct wr_parent from $write_table where $sql_search $sql_order limit $from_record, $board[bo_page_rows] ";
}
else
{
$sql = " select * from $write_table where wr_is_comment = 0 $sql_order limit $from_record, $board[bo_page_rows] ";
}
$result = sql_query($sql);

// 년도 2자리
$today2 = $g4[time_ymd];

$list = array();
$i = 0;

if (!$sca && !$stx)
{
$arr_notice = split("\n", trim($board[bo_notice]));
for ($k=0; $k<count($arr_notice); $k++)
{
$row = sql_fetch(" select * from $write_table where wr_id = '$arr_notice[$k]' ");
if (!$row[wr_id])
continue;

$list[$i] = get_list($row, $board, $board_skin_path, $board[bo_subject_len]);
$list[$i][is_notice] = true;

$i++;
}
}


///////////////////////////////////////////////////////////////////
아래와 같이 수정하시면 됩니다.

$list = array();
$i = 0;

if (!$sca && !$stx)
{
$arr_notice = split("\n", trim($board[bo_notice]));
for ($k=0 , $ck = count($arr_notice); $k < $ck; $k++)
{
$row = sql_fetch(" select * from $write_table where wr_id = '$arr_notice[$k]' ");
if (!$row[wr_id])
continue;

$list[$i] = get_list($row, $board, $board_skin_path, $board[bo_subject_len]);
$list[$i][is_notice] = true;

$notice_order .= " and wr_id != '$arr_notice[$k]'";

$i++;
}
}

// if(!$board[bo_1]) $notice_order = ''; //게시판 설정에서 공지 재출력 유무를 조정할 경우

if ($sca || $stx)
{
$sql = " select distinct wr_parent from $write_table where $sql_search $sql_order limit $from_record, $board[bo_page_rows] ";
}
else
{
$sql = " select * from $write_table where wr_is_comment = 0 $notice_order $sql_order limit $from_record, $board[bo_page_rows] ";
}
$result = sql_query($sql);

// 년도 2자리
$today2 = $g4[time_ymd];

//////////////////////////////////////////////////////////////////////////

쿼리문을 잘 몰라서 $notice_order 작성이 허접합니다.
혹 더 나은 작성법을 아시면 좀 가르쳐 주시길 바랍니다.
인덱스를 포함해서 문제가 발생할 수 있다면 좀 알려주시면 감사하겠습니다.

그럼 즐거운 하루되세요.
|

댓글 19개

필요한 소스 였는데..

감사합니다..^^
감사합니다. 게시판이 훨씬 깔끔해졌어요.
좀더 쉽게 나왔네요..
쉽게 만든소스...노고에 감사드립니다.
스크랩합니다.
좋은 팁 감사합니다.
감사드립니다.
감사합니다

잘 쓰겠읍니다.
좋은 팁 고맙습니다^^*
감사합니다~ ^^
공지중복 방지
아무 문제 없이 수정했네요 좋은팁 감사합니다~
최고입니다!
댓글을 작성하시려면 로그인이 필요합니다. 로그인

그누4 팁자료실

그누보드4와 관련된 팁을 여러분들과 함께 공유하세요. 나누면 즐거움이 커집니다.

+
제목 글쓴이 날짜 조회
19년 전 조회 6,302
19년 전 조회 3,813
19년 전 조회 4,376
19년 전 조회 2,825
19년 전 조회 2,903
19년 전 조회 7,591
19년 전 조회 3,191
19년 전 조회 5,107
19년 전 조회 3,290
19년 전 조회 4,696
19년 전 조회 4,349
19년 전 조회 7,415
19년 전 조회 3,515
19년 전 조회 4,098
19년 전 조회 3,242
19년 전 조회 1.5만
19년 전 조회 1.1만
19년 전 조회 6,339
19년 전 조회 4,230
19년 전 조회 4,238
🐛 버그신고