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

공지사항 처리 질문입니다. 채택완료

아이디신디 10년 전 조회 3,760

안녕하세요.

게시판에서 공지를 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개

채택된 답변
+20 포인트
편리
10년 전

공지처리 부분을 기본 코드를 수정하시 않고 등록된 순, 먼저 등록된 글이 먼저 출력이 되게 하려면

php의 sort 함수를 사용하면 해결이 될 듯 합니다. 먼저 쓴 글일수록 wr_id 값이 작기 때문입니다.

아래의 코드처럼 sort 구문을 추가하시면 될 듯 합니다.

 

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

 

만약 출력순서가 원하시는 것과 반대라면 rsort 를 사용하시면 될 것 같습니다.

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

답변에 대한 댓글 3개

아이디신디
10년 전
답변감사합니다.
sort,rsort해보니 변경이 되긴 하는데 날짜별로는 변경이 안되네요 ㅜㅜ
으앙
편리
10년 전
날짜별로 하시려면 새로 코드를 작성하셔야 합니다. 기본 코드는 wr_id 값을 이용해 게시글 정보만
가져오기 때문에 원하시는 대로 작동하지 않습니다.
아이디신디
10년 전
아 넵 제가 이리저리 한번 다시 해보겠습니다 . ^^

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

10년 전

관리자 > 게시판설정 > 하단에 보면 정렬순서 정하는 항목이 나옵니다.. 

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

답변에 대한 댓글 1개

아이디신디
10년 전
공지사항쪽에 체크 하면 젤 상단에 뜨는데 공지사항은 게시관 관리자와 정렬이 별개인거 같더라구요 ^^;

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

P
10년 전

select * from {$write_table} ​ where   wr_id = '{$arr_notice[$k]}​' order by wr_datetime

아니 이게 맞습니다

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

답변에 대한 댓글 1개

아이디신디
10년 전
그렇게 해봤는데 오류가 나더라구요 ㅜㅠ

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

P
10년 전

select * from {$write_table} order by wr_datetime​ where 

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

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

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

로그인