최신글에서 공지글만 추출할때 sql 쿼리
본문
$today_row = date('YmdHis');
$limit = intval($options['limit']); // limit 값을 정수로 변환하여 사용
$qry = "select * from ".$g5['write_prefix'].$bo_table." where $today_row <= wr_1 and wr_is_comment = 0 and wr_num < 0 order by wr_1 ASC LIMIT 0, $limit";
이렇게 했더니 일반글도 나오네요. wr_num < 0는 정석이 아닌 걸로 아는데, 어떤 방법이 있을까요?
감사합니다.
답변 2
게시판의 공지글은 g5_board 테이블에 bo_notice 컬럼에 공지글 번호가 들어갑니다.
다. 아래 처럼 쿼리 해보세요.
wr_num < 0 은 왜 하셨는지 모르겠는데 공지글과 상관없습니다.
추가로 wr_option 은 비밀글과 html 여부만 채크 합니다. (에디터 사용일경우 html)
$today_row = date('YmdHis');
$limit = intval($options['limit']);
// 공지글 번호 가져오기
$board_sql = "SELECT bo_notice FROM {$g5['board_table']} WHERE bo_table = '$bo_table'";
$board_row = sql_fetch($board_sql);
$notice_ids = trim($board_row['bo_notice'], ',');
if ($notice_ids) {
$qry = "SELECT * FROM {$g5['write_prefix']}{$bo_table}
WHERE wr_id IN ($notice_ids)
AND $today_row <= wr_1
AND wr_is_comment = 0
ORDER BY wr_1 ASC
LIMIT 0, $limit";
}
아래의 내용도 한번 참고를 해보세요.
$today_row = date('YmdHis');
$limit = intval($options['limit']);
$qry = "SELECT *
FROM {$g5['write_prefix']}{$bo_table}
WHERE wr_is_comment = 0
AND wr_option LIKE '%notice%'
AND '$today_row' <= wr_1
ORDER BY wr_1 ASC
LIMIT 0, $limit";
또는
$qry = "SELECT *
FROM {$g5['write_prefix']}{$bo_table}
WHERE wr_is_comment = 0
AND FIND_IN_SET('notice', wr_option) > 0
AND '$today_row' <= wr_1
ORDER BY wr_1 ASC
LIMIT 0, $limit";