[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);
좀더 간편하고 확실한 방법으로 개선 해야할 필요가 있는 것 같아 개선한 방법입니다
행으로 표시하면 버젼에 따라 달라질 수도 있고 해서 부분 부분 전체코드를 표시합니다
행 표시는 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개
13년 전
와우... 좋은 팁 감사합니다. 첫페이지에만 공지글을 보이도록 하는 팁이군요...
13년 전
아닙니다
위쪽에 공지글 나오고 리스트에 공지글과 똑같은 게시물이 다시 나오는 것을 막는 것입니다
위쪽에 공지글 나오고 리스트에 공지글과 똑같은 게시물이 다시 나오는 것을 막는 것입니다
13년 전
감사합니다 ..깔끔하게 공지글만 상단에 하나 나오네요...
12년 전
여기서 궁금한것은, 만약 공지글을 해제했을 경우, 그 공지글은 작성한 날짜로 리스트에 돌아가는건지,
아님 리스트 1번글이 되는지요?
아님 리스트 1번글이 되는지요?
12년 전
공지글 해제하면 그누보드 기본 기능 그대로 일반 게시물이 됩니다
즉 등록한 날짜 그대로 리스트에 나옵니다
즉 등록한 날짜 그대로 리스트에 나옵니다
12년 전
역쉬균이님^^ 좋네요
12년 전
오..좋네요. 감사합니다.~
12년 전
균이님 좋은 팁..
감사합니다.
다른 방법을 썼엇는데.
이 방법이 좋군요...
감사합니다.
다른 방법을 썼엇는데.
이 방법이 좋군요...
12년 전
저도 참 2번이나 나와서 어떻게 해야하나 했는데 !
감사합니다 !
감사합니다 !
12년 전
감사합니다
12년 전
균이님 최고..
감사합니다.
감사합니다.
12년 전
감사하니다. 잘되요
12년 전
와우.. 좋은 팁이네요^^
12년 전
오..
12년 전
굿.. 깔끔합니다.
philip01
12년 전
완벽하네요! 감사합니다~ ^^
12년 전
와우.. 감사합니다. ^^
baoro
12년 전
좋습니다.게시물이 공지사항밖에 없는 초기 게시판에 늘 고민이었는데,
감사합니다.
감사합니다.
12년 전
하단부분은 이렇게.. 수정..
위에 소스그대로 하니까.. 리스트 순서가 거꾸로 되네요..
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);
위에 소스그대로 하니까.. 리스트 순서가 거꾸로 되네요..
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);
skinxfile
12년 전
감사합니다!!!덕분에 쉽게 해결했습니다~!!
루트오백사십일
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 로 변경해야 하는지 아시는분 있으시면...답변 좀 부탁드립니다~
에서는 어느 부분 $no_notice_qry 로 변경해야 하는지 아시는분 있으시면...답변 좀 부탁드립니다~
12년 전
무엇을 모르겠다는 것인지 알 수 없네요
어느부분을 $notice_cnt로 변경해야 하는지<---위 코드가 변경된 소스입니다
그대로 복사해서 붙여넣기만 하면 됩니다
//<-- 이 주석은 해당 부분을 위 코드처럼 변경하면 된다는 설명입니다
어느부분을 $notice_cnt로 변경해야 하는지<---위 코드가 변경된 소스입니다
그대로 복사해서 붙여넣기만 하면 됩니다
//<-- 이 주석은 해당 부분을 위 코드처럼 변경하면 된다는 설명입니다
루트오백사십일
12년 전
아하~ 그렇군요~ 제가 프로그램에 대해선...잘 몰라서^^; 그대로 붙혀서 잘 사용해 보겠습니다^^
11년 전
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 이라서 그런가요..
라고 에러가 나는건 왜죠..ㅠㅠ
그대로 복붙 했는데..
list.php on line 43 부분 부니까
$arr_notice = explode("\n", trim($board[bo_notice])); 이거네요,,
UTF-8 이라서 그런가요..
11년 전
바로 윗줄
$arr_notice = array(); <---마지막에 세미콜론 붙이세요
$arr_notice = array(); <---마지막에 세미콜론 붙이세요
10년 전
스크랩~~
lovemoa
10년 전
저도 지금 이 문제를 해결 하려고 하는 중인데 여기 설명된 화일과 지금 배포된 화일의 내용이 많이 다른거 같네요 자세히 보니 그누보드4인거 같아요
삼식님도 해결 하심 쪽지좀 주세요
삼식님도 해결 하심 쪽지좀 주세요
10년 전
그누5 버전으로 수정 어떻게 해야할가요 위치찾기가 어렵네요
9년 전
위쪽에 공지글 나오고 리스트에 공지글과 똑같은 게시물이 다시 나오는 것을 막는 것
7년 전
감사합니다..와드박고갑니다..
5년 전
ㅠㅠ진짜 너무너무 고급정보 감사합니다! 복받으실꺼에요
5년 전
너무 감사합니다^^ 깔끔하게 한번에 해결되네요
5년 전
공지하면 공지만 뜨고 게시글 에는 안 뜨게 하는 소스
게시글 목록
| 번호 | 제목 |
|---|---|
| 34706 | |
| 34693 | |
| 34563 | |
| 34536 | |
| 34521 | |
| 34480 | |
| 34479 | |
| 34466 | |
| 34437 | |
| 34436 | |
| 34435 | |
| 34406 | |
| 34398 | |
| 34387 | |
| 34382 | |
| 34375 | |
| 34364 | |
| 34336 | |
| 34294 | |
| 34293 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기