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