검색값으로 검색시 문제

검색값으로 검색시 문제

QA

검색값으로 검색시 문제

답변 1

본문

https://sir.kr/g4_skin/147798

기간별 검색 스킨을 이용해서

아래처럼 적용시킨다음 t_start ~ t_end 값을 넣고 검색을 하면

검색값에 따라 검색후 나오는 값이 부정확합니다.

500~1,000 의 경우는 아예검색 게시글이 안나오구요.

이상증상의 규칙은 아직 잘모르겠군요.

종종 해보면 다른금액대의 금액도 검색이 되는데 한데요??

정확성을 높이기 위해 수정을 해보려면 어디를 수정해야 하나요???





///////보증금 기간별검색//////////////
//t_start=20&t_end=25&x=25&y=9
elseif ($t_start || $t_end)
{
    //$sql_search = "wr_1 >= '$t_start' && wr_1 <= '$t_end'";
 //5개의 필드중 1개라도 참이면 or로 묶어줍니다.
$sql_search = "(wr_13 >= '$t_start' && wr_13 <= '$t_end') or (wr_16 >= '$t_start' && wr_16 <= '$t_end') or (wr_19 >= '$t_start' && wr_19 <= '$t_end') or (wr_22 >= '$t_start' && wr_22 <= '$t_end') or (wr_25 >= '$t_start' && wr_25 <= '$t_end') ";
//$sql_search = "(wr_13 >= '$t_start' && wr_13 <= '$t_end') and (wr_16 >= '$t_start' && wr_16 <= '$t_end') and (wr_19 >= '$t_start' && wr_19 <= '$t_end') and (wr_22 >= '$t_start' && wr_22 <= '$t_end') and (wr_25 >= '$t_start' && wr_25 <= '$t_end') ";

    // 가장 작은 번호를 얻어서 변수에 저장 (하단의 페이징에서 사용)
    $sql = " select MIN(wr_num) as min_wr_num from $write_table ";
    $row = sql_fetch($sql);
    $min_spt = $row[min_wr_num];

    if (!$spt) $spt = $min_spt;

    $sql_search .= " and (wr_num between '".$spt."' and '".($spt + $config[cf_search_part])."') ";

    // 원글만 얻는다. (코멘트의 내용도 검색하기 위함)
    $sql = " select distinct wr_parent from $write_table where $sql_search ";
    $result = sql_query($sql);
    //$total_count = mysql_num_rows($result);
 $total_count = sql_num_rows($result);
}
///////보증금 기간별검색//////////////






////////////기간별검색/////////////////

//보증금
elseif ($t_start || $t_end){
    $sql = " select distinct wr_parent from $write_table where $sql_search $sql_order limit $from_record, $board[bo_page_rows] ";
 
  }

////////////기간별검색/////////////////



 //////////기간별검색////////////////////
   
 //보증금
 if ($t_start || $t_end)
        $row = sql_fetch(" select * from $write_table where wr_id = '$row[wr_parent]' ");



////////////////////////////////////////


이 질문에 댓글 쓰기 :

답변 1

자세하게 내용을 읽어보지 못해서 동문서답이 될 수도 있지만...

확장필드에 숫자가 들어갈때 조건문에서 싱글쿼테이션에 주의하셔야 합니다.


$param = 100;

`wr_1` > '{$param}' 문자로 인식, `wr_1` > {$param} 숫자로 인식


아무튼 숫자가 들어간 필드의 검색값이 부정확하면 이 경우가 많더라구요...

답변을 작성하시기 전에 로그인 해주세요.
QA 내용 검색
질문등록
전체 154
© SIRSOFT
현재 페이지 제일 처음으로