여분필드 검색 문의드립니다.
새해 복 많이 받으세요.
여분필드로 검색을 이용하고 있습니다.
팁을 보고 소스를 넣어 사용하고 있는데 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>
그런데 전화번호에서 010-2345-2536 을 검색하고자 할때 모든 번호를 다 넣어서 검색하면 검색이 되는데
끝 4자만 넣으면 검색이 안됩니다. 2536만 입력을 해도 검색이 되려면 어떻게 하면 될까요?
도움주시면 감사하겠습니다.
답변 4개
/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'))";
이부분이 있는지 확인해 보세요.
만약 저렇게 되어 있다면 검색문자가 앞이든 뒤든 중간이든 검색되실겁니다.
이게 기본형태 입니다.
혹시 이렇게 되어 있지 않다면 해당 함수 전체를 올려 주셔야 알수 있습니다.
과거 QNA 에 해당 내용이 있습니다.
그누 기본으로는 검색이 되는 것이 정상 입니다
스킨에 다음 코드를 넣어서 어떻게 나오는지 확인 해보세요
echo $sql;
select distinct ~~INSTR(wr_1, '2536')~~~ 이런 코드가 나와야 정상입니다
목록 쿼리 찾으셔서 LIKE 문으로 바꾸셔야 할 것 같습니다.
wr_1 = '{$stx}'
==>
wr_1 LIKE '%{$stx}%'
답변을 작성하려면 로그인이 필요합니다.