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

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

· 13년 전 · 12164 · 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개

12년 전
추가함 부분은 알겠는데...$total_count = $board[bo_count_write] - $notice_cnt; //---- 수정함( $notice_cnt) 에서는는 어느부분을 $notice_cnt로 변경해야 하는지와 $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)
에서는 어느 부분 $no_notice_qry 로 변경해야 하는지 아시는분 있으시면...답변 좀 부탁드립니다~
무엇을 모르겠다는 것인지 알 수 없네요
어느부분을 $notice_cnt로 변경해야 하는지<---위 코드가 변경된 소스입니다
그대로 복사해서 붙여넣기만 하면 됩니다
//<-- 이 주석은 해당 부분을 위 코드처럼 변경하면 된다는 설명입니다
12년 전
아하~ 그렇군요~ 제가 프로그램에 대해선...잘 몰라서^^; 그대로 붙혀서 잘 사용해 보겠습니다^^
Parse error: syntax error, unexpected T_VARIABLE in /host/home/135/html/main/bbs/list.php on line 43

라고 에러가 나는건 왜죠..ㅠㅠ
그대로 복붙 했는데..

list.php on line 43 부분 부니까
$arr_notice = explode("\n", trim($board[bo_notice])); 이거네요,,

UTF-8 이라서 그런가요..
바로 윗줄
$arr_notice = array(); <---마지막에 세미콜론 붙이세요
10년 전
스크랩~~
저도 지금 이 문제를 해결 하려고 하는 중인데 여기 설명된 화일과 지금 배포된 화일의 내용이 많이 다른거 같네요 자세히 보니 그누보드4인거 같아요
삼식님도 해결 하심 쪽지좀 주세요
10년 전
그누5 버전으로 수정 어떻게 해야할가요 위치찾기가 어렵네요
9년 전
위쪽에 공지글 나오고 리스트에 공지글과 똑같은 게시물이 다시 나오는 것을 막는 것
감사합니다..와드박고갑니다..

게시글 목록

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