[1원짜리 팁] 리스트에서 공지사항 중복 출력 막기 > 그누4 팁자료실

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!

그누4 팁자료실

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

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

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

본문

질답 게시판에 질문이 있어서 예전에 제가 올렸던 팁을 지금 보니
좀더 간편하고 확실한 방법으로 개선 해야할 필요가 있는 것 같아 개선한 방법입니다
행으로 표시하면 버젼에 따라 달라질 수도 있고 해서 부분 부분 전체코드를 표시합니다
행 표시는 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);
추천
7

댓글 33개

여기서 궁금한것은, 만약 공지글을 해제했을 경우, 그 공지글은 작성한 날짜로 리스트에 돌아가는건지,
아님 리스트 1번글이 되는지요?
하단부분은 이렇게.. 수정..
위에 소스그대로 하니까.. 리스트 순서가 거꾸로 되네요..
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);
추가함 부분은 알겠는데...$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로 변경해야 하는지<---위 코드가 변경된 소스입니다
그대로 복사해서 붙여넣기만 하면 됩니다
//<-- 이 주석은 해당 부분을 위 코드처럼 변경하면 된다는 설명입니다
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 이라서 그런가요..
저도 지금 이 문제를 해결 하려고 하는 중인데 여기 설명된 화일과 지금 배포된 화일의 내용이 많이 다른거 같네요 자세히 보니 그누보드4인거 같아요
삼식님도 해결 하심 쪽지좀 주세요
전체 3,313 |RSS
그누4 팁자료실 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT