2026, 새로운 도약을 시작합니다.

최신글에서 공지글만 추출할때 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개

채택된 답변
+20 포인트

게시판의 공지글은 g5_board 테이블에 bo_notice 컬럼에 공지글 번호가 들어갑니다.

다. 아래 처럼 쿼리 해보세요.

wr_num < 0 은 왜 하셨는지 모르겠는데 공지글과 상관없습니다.

추가로 wr_option 은 비밀글과 html 여부만 채크 합니다. (에디터 사용일경우 html)

Copy
 

$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 
로그인 후 평가할 수 있습니다

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

아래의 내용도 한번 참고를 해보세요.

$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";

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

답변에 대한 댓글 1개

조건문 쓸때 속도 이슈도 고려해야 합니다

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

이 게시판은 회원만 글쓰기가 가능합니다. 로그인해 주세요.

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

로그인
🐛 버그신고