최신글에서 공지가 맨위 (혹은 두번째)에 가게 하고 싶어요 채택완료
smltree
1년 전
조회 2,232
최신글을 뽑아올때
게시글에서 공지 체크한것을
맨처음 혹은 두번째로 나오게 하고 싶습니다.
사실 필요한건 두번째 인데요
사이트가 어떻게 하다보니
최신글이 세개 추출되는데 공지사항이 가운데 와야하는 상황이 되어버렸습니다.
공지로 체크해서 게시물에서 맨 위로 올라오는 공지사항이
최신글 2번째로 나오게 할 수 있을까요?
(공지글이 2개이상이면 위에있는게 올라와야 합니다.)
댓글을 작성하려면 로그인이 필요합니다.
답변 1개
채택된 답변
+20 포인트
마르스컴퍼니
Expert
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>
로그인 후 평가할 수 있습니다
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인