여분필드 검색 문의드립니다.
본문
새해 복 많이 받으세요.
여분필드로 검색을 이용하고 있습니다.
팁을 보고 소스를 넣어 사용하고 있는데 wr_1 을 전화번호로 사용중입니다.
<form name="fsearch" method="get">
<input type="hidden" name="bo_table" value="<?php echo $bo_table ?>">
<input type="hidden" name="sca" value="<?php echo $sca ?>">
<input type="hidden" name="sop" value="and">
<label for="sfl" class="sound_only">검색대상</label>
<select name="sfl" id="sfl">
<option value="wr_1||wr_subject"<?php echo get_selected($sfl, 'wr_1||wr_subject', true); ?>>전화+제목</option>
<option value="wr_1"<?php echo get_selected($sfl, 'wr_1', true); ?>>전화번호</option>
<option value="wr_subject"<?php echo get_selected($sfl, 'wr_subject', true); ?>>제목</option>
</select>
<label for="stx" class="sound_only">검색어<strong class="sound_only"> 필수</strong></label>
<input type="text" name="stx" value="<?php echo stripslashes($stx) ?>" required id="stx" class="sch_input" size="25" maxlength="20" placeholder="Phone Last 4 Digit or Name">
<button type="submit" value="검색" class="sch_btn"><i class="fa fa-search" aria-hidden="true"></i><span class="sound_only">검색</span></button>
그런데 전화번호에서 *** 개인정보보호를 위한 휴대폰번호 노출방지 *** 을 검색하고자 할때 모든 번호를 다 넣어서 검색하면 검색이 되는데
끝 4자만 넣으면 검색이 안됩니다. 2536만 입력을 해도 검색이 되려면 어떻게 하면 될까요?
도움주시면 감사하겠습니다.
!-->답변 4
목록 쿼리 찾으셔서 LIKE 문으로 바꾸셔야 할 것 같습니다.
wr_1 = '{$stx
}'
==>
wr_1 LIKE '%{$stx
}%'
그누 기본으로는 검색이 되는 것이 정상 입니다
스킨에 다음 코드를 넣어서 어떻게 나오는지 확인 해보세요
echo $sql;
select distinct ~~INSTR(wr_1, '2536')~~~ 이런 코드가 나와야 정상입니다
/lib/common.lib.php 파일의
function get_sql_search($search_ca_name, $search_field, $search_text, $search_operator='and')
함수를 보시면
$str .= "INSTR(LOWER($field[$k]), LOWER('$search_str'))";
이부분이 있는지 확인해 보세요.
만약 저렇게 되어 있다면 검색문자가 앞이든 뒤든 중간이든 검색되실겁니다.
이게 기본형태 입니다.
혹시 이렇게 되어 있지 않다면 해당 함수 전체를 올려 주셔야 알수 있습니다.
답변을 작성하시기 전에 로그인 해주세요.