오늘날짜가 되면 공지처럼 맨 위에 올라가고, 그 외 날짜는 이전 순서데로 list하는 법 채택완료

오늘날짜가 되면 공지처럼 맨 위에 올라가고,

그 외 날짜는 이전 순서데로 list하는 법

오늘 날짜에 자동으로 공지가 되었다가, 그 외 날짜는 기존과 똑 같이 list

오늘 날짜 비교는 문제 없으나,

오늘 날짜 list는 공지가 되고, 오늘이 아닌 날짜는 기존과 똑 같이 list 어떻게 하나요?

Today => 공지로

오늘이 아닌 날짜는 기존처럼 list

답변 3개

채택된 답변
+20 포인트

/bbs/list.php 파일에 아래 부분을 수정해보세요

Copy
// 공지 처리

if (!$is_search_bbs) {

    $today = date('Y-m-d 00:00:00');

    $sql = " select * from {$write_table} where wr_datetime >= '{$today}' ";

    $result = sql_query($sql);

    for ($i=0; $row = sql_fetch_array($result); $i++) {

        $notice_array[] = $row['wr_id'];

 

        $list[$i] = get_list($row, $board, $board_skin_url, G5_IS_MOBILE ? $board['bo_mobile_subject_len'] : $board['bo_subject_len']);

        $list[$i]['is_notice'] = true;

        $list[$i]['num'] = 0;

        $notice_count++;

 

        if($notice_count >= $list_page_rows)

            break;

    }

}
Copy
if ($is_search_bbs) {

    $sql = " select distinct wr_parent from {$write_table} where {$sql_search} {$sql_order} limit {$from_record}, $page_rows ";

} else {

    $sql = " select * from {$write_table} where wr_is_comment = 0 and wr_datetime < '{$today}'";

    if(!empty($notice_array))

        $sql .= " and wr_id not in (".implode(', ', $notice_array).") ";

    $sql .= " {$sql_order} limit {$from_record}, $page_rows ";

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

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

array 중 $list[$i]['is_notice'] 이 부분이 포인트 입니다.

foreach 또는 for 문으로 $list를 재가공 하세요.

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

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

이렇게 만들어진건 없을듯 하고요.

만드실려면 notice 부분을 수정하셔서 입력일을 오늘로 조회를 하시면 될듯 합니다.

그러면 notice 부분에 나올테니깐요.

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

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

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

로그인
🐛 버그신고