테스트 사이트 - 개발 중인 베타 버전입니다

다중검색에서 범위검색 적용 채택완료

seabird 5년 전 조회 4,279

http://rpointvn.com

위에 적어놓은 링크를 통해 들어오시면 보시다시피 현재 부동산관련 홈페이지를 제작중에 있는데.. 붉은바람님이 올려주신 skin.lib.php 파일( https://sir.kr/g5_tip/3003 )을 이용하여 다중검색을 적용중에 있습니다. 기본검색어를 포함하여 지역과 방갯수, 화장실갯수 등을 다중검색할 수 있도록은 했는데.. 문제는 범위검색을 제대로 적용을 못하고 있어 며칠째 고생하고 있습니다.  

메인화면 검색창에서 '슬라이딩 범위검색 스크립트'를 통해 원하는 최저값과 최고값을 입력받아 we_8에 입력되어 있는 가격과 비교하여 여기에 속한 매물을 보여주려고 합니다. 현재 사용자가 설정한 범위검색으로 최저값과 최고값은 뽑을 수 있는데 이것을 어떤 식으로 적용을 해야할 지 모르겠습니다.  

between 쿼리를 사용해야하는 것은 알겠는데 지식이 딸리다보니 좀 구체적인 설명이 필요할 듯 합니다.  이 기능이 정상적으로 작동되도록 skin.lib.php 파일을 수정하여 주시거나 결정적인 도움 주셔서 채택 눌러드린 분께는 약소하지만 치킨이나 피자 등 원하시는 간식 배달시켜 드리도록 하겠습니다. 능력 있으신 분들 꼭 좀 도와주십시오.

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

답변 1개

채택된 답변
+20 포인트
5년 전

170 Line 부근

 

        $sql_search = get_sql_search3($sca, $sfl, $stx, $sop, $se_arr);                  if ($min_price && $max_price)             $sql_search .= " and ( wr_8 between {$min_price} and {$max_price} ) ";

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

답변에 대한 댓글 6개

s
seabird
5년 전
정말 감사합니다.
적용 결과 다른 변수들과 함께 검색 했을 땐 제대로 검색이 되는데...
이 범위검색만 독자적으로 검색했을땐 작동이 되질 않네요.
다른 변수들은 모두 독자적으로 검색이 되고 있거든요.
이것 하나만 좀 보완하면 완벽할 것 같습니다.
어느 부분을 수정하면 될까요? 마지막까지 도움 좀 부탁드립니다.
마르스컴퍼니
5년 전
아마도

if ($sca || $stx || count($arr_search) > 0) { 조건에 걸리지 않는

경우일 듯 싶습니다.

if ($sca || $stx || count($arr_search) > 0) {
...
} else {
...
}

아래로 이동해 주면 될 듯 합니다.

if ($min_price && $max_price)
$sql_search .= " and ( wr_8 between {$min_price} and {$max_price} ) ";
s
seabird
5년 전
아래로 이동했는데.. 특별히 달라진 건 없는 것 같습니다.ㅠ.ㅠ
한번만 더 소스를 살펴봐주시기 바랍니다.
저도 좀더 방법을 강구해보도록 하겠습니다.
마르스컴퍼니
5년 전
if ($sca || $stx || count($arr_search) > 0) {

구문을 모두

if ($sca || $stx || count($arr_search) > 0 || $min_price) {

로 변경하면 될 듯 합니다. (대략 5곳?)
s
seabird
5년 전
역시 이 내용대로 수정해도 반영이 안되네요.

너무 늦으면 간식 배달이 안될 것 같아 먼저 보내드리도록 하겠습니다.

쪽지 한번 봐주세요.
마르스컴퍼니
5년 전
https://sir.kr/g5_tip/3003 여기의 skin.lib.php 가 맞는지요?

소스만 보고 생각을 정리해서 맞지 않을 수도 있습니다만..

469 Line 의
if ($sca || $stx || count($arr_search) > 0) {
$sql = " select distinct wr_parent from {$write_table} where {$sql_search} {$sql_order} limit {$from_record}, $page_rows ";

부분을..

=>

if ($sca || $stx || count($arr_search) > 0 || $min_price) {
if ($min_price && $max_price)
$sql_search .= " and ( wr_8 between {$min_price} and {$max_price} ) ";

$sql = " select distinct wr_parent from {$write_table} where {$sql_search} {$sql_order} limit {$from_record}, $page_rows ";

로 하면 되지 않을까 생각하는데.. 계속 해결이 안된다면..

따로 연락주신대로 진행하여 살펴보고 처리해보겠습니다.

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

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

로그인