공지사항 처리 질문입니다. 채택완료
안녕하세요.
게시판에서 공지를 5개 정도로 만들면 소팅이 공지 등록한 순서 대로 되는데 글쓴날짜 부터 하려면 어떻게 해야 하나요?
order by wr_datetime을 넣어야 할터인디.. 어따다가 넣는지.. ㅜㅜ
오류가 계속나서리..
bbs/list.php
</p><p>// 공지 처리</p><p>if (!$sca && !$stx) {</p><p> $arr_notice = explode(',', trim($board['bo_notice']));</p><p> $from_notice_idx = ($page - 1) * $page_rows;</p><p> if($from_notice_idx < 0)</p><p> $from_notice_idx = 0;</p><p> $board_notice_count = count($arr_notice);</p><p> </p><p> </p><p> for ($k=0; $k<$board_notice_count; $k++) {</p><p> if (trim($arr_notice[$k]) == '') continue;</p><p> </p><p> $row = sql_fetch(" select * from {$write_table} where wr_id = '{$arr_notice[$k]}'");</p><p> </p><p><span class="Apple-tab-span" style="white-space:pre"> </span>//$row = sql_fetch(" select * from {$write_table} order by wr_num");</p><p> </p><p> </p><p> if (!$row['wr_id']) continue;</p><p> </p><p> $notice_array[] = $row['wr_id'];</p><p> </p><p> if($k < $from_notice_idx) continue;</p><p> </p><p> $list[$i] = get_list($row, $board, $board_skin_url, G5_IS_MOBILE ? $board['bo_mobile_subject_len'] : $board['bo_subject_len']);</p><p> $list[$i]['is_notice'] = true;</p><p> </p><p> $i++;</p><p> $notice_count++;</p><p> </p><p> if($notice_count >= $list_page_rows)</p><p> break;</p><p> }</p><p>} </p><p>
답변 4개
공지처리 부분을 기본 코드를 수정하시 않고 등록된 순, 먼저 등록된 글이 먼저 출력이 되게 하려면
php의 sort 함수를 사용하면 해결이 될 듯 합니다. 먼저 쓴 글일수록 wr_id 값이 작기 때문입니다.
아래의 코드처럼 sort 구문을 추가하시면 될 듯 합니다.
</p><p> $arr_notice = explode(',', trim($board['bo_notice']));</p><p> sort($arr_notice); </p><p>
만약 출력순서가 원하시는 것과 반대라면 rsort 를 사용하시면 될 것 같습니다.
답변에 대한 댓글 3개
가져오기 때문에 원하시는 대로 작동하지 않습니다.
댓글을 작성하려면 로그인이 필요합니다.
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
select * from {$write_table} where wr_id = '{$arr_notice[$k]}' order by wr_datetime
아니 이게 맞습니다
답변에 대한 댓글 1개
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인
sort,rsort해보니 변경이 되긴 하는데 날짜별로는 변경이 안되네요 ㅜㅜ
으앙