테스트 사이트 - 개발 중인 베타 버전입니다

[1원짜리 팁] 리스트에서 공지사항 중복 출력 막기

· 12년 전 · 12163 · 33
질답 게시판에 질문이 있어서 예전에 제가 올렸던 팁을 지금 보니
좀더 간편하고 확실한 방법으로 개선 해야할 필요가 있는 것 같아 개선한 방법입니다
행으로 표시하면 버젼에 따라 달라질 수도 있고 해서 부분 부분 전체코드를 표시합니다
행 표시는 euc-kr버젼 기준입니다( bbs/list.php)

추가함, 수정함 부분만 맞추어 넣으세요(추가 및 수정 3곳)

/////////////////////////////37행
else
{
$sql_search = "";
//-------------------------추가함
$notice_cnt=0;
$arr_notice = array();
$arr_notice = explode("\n", trim($board[bo_notice]));
$notice_idStr = implode(",", $arr_notice);
if($notice_idStr ){
$notice_cnt= count($arr_notice);
$no_notice_qry= " and wr_id not IN($notice_idStr) ";
}
//-----여기까지 추가
$total_count = $board[bo_count_write] - $notice_cnt; //---- 수정함( $notice_cnt)
}

$total_page = ceil($total_count / $board[bo_page_rows]); // 전체 페이지 계산
if (!$page) { $page = 1; } // 페이지가 없으면 첫 페이지 (1 페이지)
$from_record = ($page - 1) * $board[bo_page_rows]; // 시작 열을 구함

/////////////////////////////80행
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 $no_notice_qry $sql_order limit $from_record, $board[bo_page_rows] "; //----------- 수정함 ($no_notice_qry)
}
$result = sql_query($sql);

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 33개

균이님 최고..

감사합니다.
감사하니다. 잘되요
와우.. 좋은 팁이네요^^
오..
굿.. 깔끔합니다.
완벽하네요! 감사합니다~ ^^
와우.. 감사합니다. ^^
좋습니다.게시물이 공지사항밖에 없는 초기 게시판에 늘 고민이었는데,
감사합니다.
하단부분은 이렇게.. 수정..
위에 소스그대로 하니까.. 리스트 순서가 거꾸로 되네요..
if ($sst)
$sql_order = " order by $sst $sod ";

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 $no_notice_qry $sql_order limit $from_record, $board[bo_page_rows] ";
}
$result = sql_query($sql);
감사합니다!!!덕분에 쉽게 해결했습니다~!!

게시글 목록

번호 제목
34706
34693
34563
34536
34521
34480
34479
34466
34437
34436
34435
34406
34398
34387
34382
34375
34364
34336
34294
34293