안녕하세요!
처음 질문글을 올리게되었는데 다름이 아니라
게시판에 범위를 설정하여 게시물을 검색할 수 있도록 list, editor, document 파일들을 수정하였고
특정 수치의 범위를 검색하기 위해 list.php 파일에 수치 범위를 검색할 수 있도록 두 개의 입력폼까지
만들어두고 실제로 범위값을 입력하여 검색이 잘되는 것 같았습니다.
헌데 잘 작동이 되는 줄 알고 있었던게 최소 범위와 최대 범위의 숫자 자릿수가
다를 때는 검색 기능이 아무것도 찾질 못하더라구요
(예시 1: 10 ~ 12 처럼 두 자릿수를 검색하면 알맞은 검색 결과 값과 함께 110 또는 124와 같이 '1의 자릿수'를 제외한 앞 두 숫자가 겹치는 게시물들도 함께 검색됨.(반대로 세 자릿수로 검색하면 '1의 자릿수'를 제외한 앞 두 숫자가 겹치는 두 자릿수를 가진 게시물들도 검색됨).
예시 2: 70 ~ 132 등과 같이 두 자릿수와 세 자릿수 처럼 자릿수가 다를 땐 어떠한 검색 결과도 나오지 않음.
예시 3: 070 ~ 132 처럼 억지로 자릿수를 맞추면 검색 결과가 나오긴 하나, 실제 70~132 사이의 결과값 뿐만 아니라 전혀 다른 값을 가진 엉뚱한 게시물들도 함께 나옴.)
이래저래 아무리 php 코드를 수정해보고 실험해봐도 대체 어떤게 문제인지조차 도저히 알 수가 없어서 이렇게 질문을 남기게 되었습니다.
아래는 list.php에 만들어서 사용 중인 코드입니다.
아무쪼록 비도 많이 오고 날씨도 오락가락하는 요즘, 감기 걸리지 않도록 조심하시고
명쾌한 답변 기다리고 있겠습니다 감사합니다!
<!-- 옵션 필드 검색 데이터를 초기화 -->
<?php $kboard_search_option = kboard_search_option()?>
<!-- 검색 방법 (AND, OR) -->
<input type="hidden" name="kboard_search_option[relation]" value="AND">
<!-- lev 옵션 필드 검색 -->
<input type="hidden" name="kboard_search_option[lev][key]" value="lev">
<input type="hidden" name="kboard_search_option[lev][compare]" value=">=">
<input type="text" name="kboard_search_option[lev][value]" value="<?php echo isset($kboard_search_option['lev']['value']) ? $kboard_search_option['lev']['value'] : '';?>" placeholder="레벨(적은 수)">
<input type="hidden" name="kboard_search_option[lev1][key]" value="lev">
<input type="hidden" name="kboard_search_option[lev1][compare]" value="<=">
<input type="text" name="kboard_search_option[lev1][value]" value="<?php echo isset($kboard_search_option['lev1']['value']) ? $kboard_search_option['lev1']['value'] : ''?>" placeholder="레벨(높은 수)">
일반적인 방법으로는 어려울 듯합니다.
KBoard 플러그인에 내장되어 있는 kboard_list_where 필터를 활용하시면
게시글 목록 페이지에서 게시글 목록을 가져오는 DB쿼리문의 WHERE절을 편집할 수 있습니다.
경우에 따라서는 kboard_list_from 필터를 활용해서
DB쿼리문의 FROM 절을 편집해야 할 수도 있습니다.
KBoard 주요 액션과 필터에 대한 자세한 내용은
아래 링크를 참고해보세요.
https://www.cosmosfarm.com/products/kboard/hooks
고맙습니다.
editor.php 에 등록한 필드의 값이 아래와 같이 하나만 존재하고
<input type="text" id="kboard_option_lev" name="kboard_option_lev" value="<?php echo $content->option->lev?>">
이 값이 예를 들어 95 일 때
검색할 때는 90 ~ 99 두 개의 폼에 각각 값을 입력하여 'lev'이라는 한 가지의 값을
검색하도록 만들고 싶은건데 범위로 검색하게 만드는 건 불가능한 걸까요??
안녕하세요~^^
올려주신 코드를 확인해보니 조금 잘못 수정하신 듯합니다.
올려주신 코드 중 아래의 코드를 찾아서
<input type="hidden" name="kboard_search_option[lev1][key]" value="lev">
아래의 코드로 교체해보시겠어요?
<input type="hidden" name="kboard_search_option[lev1][key]" value="lev1">
고맙습니다.