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

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

QA

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

답변 1

본문

최신글을 뽑아올때

 

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

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

 

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

 

사이트가 어떻게 하다보니

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

 

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

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

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

이 질문에 댓글 쓰기 :

답변 1

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


// 게시판 정보를 가져옵니다.
$board = sql_fetch(" select * from {$g5['board_table']} where bo_table = '{$bo_table}' ");
// 게시판의 공지사항 ID 목록을 가져옵니다.
$bo_notice_array = explode(',', trim($board['bo_notice']));
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);
    }
}
답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 61,355
© SIRSOFT
현재 페이지 제일 처음으로