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

최신글에서 공지가 맨위 (혹은 두번째)에 가게 하고 싶어요 채택완료

smltree 1년 전 조회 2,232

최신글을 뽑아올때

 

게시글에서 공지 체크한것을 

맨처음 혹은 두번째로 나오게 하고 싶습니다.

 

사실 필요한건 두번째 인데요

 

사이트가 어떻게 하다보니

최신글이 세개 추출되는데 공지사항이 가운데 와야하는 상황이 되어버렸습니다.

 

공지로 체크해서 게시물에서 맨 위로 올라오는 공지사항이

최신글 2번째로 나오게 할 수 있을까요?

(공지글이 2개이상이면 위에있는게 올라와야 합니다.)

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

답변 1개

채택된 답변
+20 포인트
1년 전

공지글만 따로 추출한 뒤, 기존의 최신글 $list 에 끼워넣는 방식입니다.
* lastest.skin.php 상단에 추가

</p>

<p>// 게시판 정보를 가져옵니다.

$board = sql_fetch(" select * from {$g5['board_table']} where bo_table = '{$bo_table}' ");</p>

<p>// 게시판의 공지사항 ID 목록을 가져옵니다.

$bo_notice_array = explode(',', trim($board['bo_notice']));</p>

<p>if (!empty($bo_notice_array)) {

    // 가장 최신 공지글(배열의 첫 번째 요소)의 wr_id를 가져옵니다.

    $latest_notice_id = $bo_notice_array[0];

    

    // 해당 wr_id로 공지글 정보를 가져옵니다.

    $notice_query = "SELECT * FROM {$g5['write_prefix']}{$bo_table} WHERE wr_id = '{$latest_notice_id}'";

    $notice = sql_fetch($notice_query);

    

    if ($notice) {

        // get_list() 함수를 사용하여 공지글 정보를 가공합니다.

        $notice = get_list($notice, $board, $latest_skin_url, $subject_len);

        

        // 공지글임을 표시합니다.

        $notice['is_notice'] = true;

        

        // $list 배열을 조작하여 공지글을 두 번째 위치에 삽입합니다.

        array_splice($list, 1, 0, array($notice));

        

        // $list 배열의 길이를 원래대로 유지합니다 (보통 최대 출력 개수만큼)

        $list = array_slice($list, 0, $rows);

    }

}</p>

<p>

로그인 후 평가할 수 있습니다

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

답변을 작성하려면 로그인이 필요합니다.

로그인