mysql 에서 LIKE 관련 질문입니다.(게시판 )
본문
안녕하세요
게시판에서 공지 여부 관련 쿼리인되요
---------------쿼리
SELECT
*,( SELECT count(bo_notice) AS cnt
FROM g5_board
WHERE bo_notice like '%g5_write_moro.wr_id%'
) AS noti_chk
FROM g5_write_moro
---------------결과
noti_chk 필드 : 0
: 질문드립니다.
정답은 1일 나와야 되는데 쿼리에 문제가 있을까요?
조언 구합니다.
ps. 게시물 아이디 값을 넣으면 값이 존재 합니다.
SELECT bo_notice FROM g5_board WHERE bo_notice like '%270%'
---- 쿼리결과
bo_notice : 270
답변 4
view에서 필요하신 것인지
list에서 필요하신 것인지 잘 모르겠군요.
bbs/list.php에서
$arr_notice = explode(',', trim($board['bo_notice']));
이렇게 한 다음
if( in_array( $wr_id, $arr_notice)) {
echo '공지 글';
} else {
}
이런 식으로 처리해 보세요.
한컬럼내의 콤마 구분자를 구분지어 검색하고 싶다면 find_in_set 을 활용하세요
select *,
(select find_in_set(g5_write_moro.wr_id, bo_notice) from g5_board where bo_table = 'moro') AS noti_chk
from g5_write_moro
SELECT *,( SELECT count(bo_notice) AS cnt FROM g5_board WHERE bo_notice like concat('%',g5_write_moro.wr_id,'%')) AS noti_chk
FROM g5_write_moro
이기는 한데 추천하지는 않습니다. 해당 글이 공지 설정된 글인지 체크하려고 하시는거같은데, wr_id가 1일경우 10도, 111도 검색이 되어버리니 다른 방법을 찾으시는걸 권해드립니다.
!-->
답변을 작성하시기 전에 로그인 해주세요.