조건검색 질문드려요
본문
빨간부분을 추가 하여 초과 ~ 미만 , 이상~ 이하 검색은 잘 됩나다. 그런데
wr_3 이 단어를 포함하고 있으면 검색이 잘 되었는데 빨간부분 추가 후 부터 안되네요 ;;
어딜 수정해야 하는지 알려주세요 고수님들 ~~ ~ 새해복 많이 받으세요
빨간 부분 다시 빼면 잘되요 ;;
// 검색 구문을 얻는다.
//function get_sql_search($search_ca_name, $search_field, $search_text, $search_operator=false)
function get_sql_search3($search_ca_name, $search_field, $search_text, $search_operator='and',$search_arr='')
{
global $g4;
$str = "";
if ($search_ca_name)
$str = " ca_name = '$search_ca_name' ";
$search_text = trim($search_text);
if (!$search_text && !$search_arr)
return $str;
if(count($search_arr[name]) > 0){
$se_flag = 0;
for($j = 0; $j < count($search_arr[name]); $j++){
if(is_array($search_arr[val][$j])){
$str2 = "";
for($x = 0; $x < count($search_arr[val][$j]);$x++){
$str2 = append_sql2($str2, " or ", " {$search_arr[name][$j]} like '%{$search_arr[val][$j][$x]}%' ");
}
$str2 = " (".$str2.") ";
$str = append_sql2($str, " and", $str2);
}else if(strlen($search_arr[val][$j]) > 0 && $search_arr[val][$j] ){
if($search_arr[name][$j]=='wr_6'or'wr_8'or'wr_9'or'wr_10'or'wr_11'){$search_arr_chl = explode("~", $search_arr[val][$j]);
$str = append_sql2($str, " and ", " {$search_arr[name][$j]} >=$search_arr_chl[0] ");
if($search_arr_chl[1]){$str = append_sql2($str, " and ", " {$search_arr[name][$j]} <=$search_arr_chl[1] ");}
}else{$str = append_sql2($str, " and ", " {$search_arr[name][$j]} like '%{$search_arr[val][$j]}%' ");}
}
}
}
답변 1
빨간부분의 if문에 문제가 있습니다.
다음 처럼 변경해보세요.
if($search_arr[name][$j]=='wr_6' or $search_arr[name][$j]=='wr_8' or $search_arr[name][$j]=='wr_9' or $search_arr[name][$j]=='wr_10' or $search_arr[name][$j]=='wr_11'){
$search_arr_chl = explode("~", $search_arr[val][$j]);
$str = append_sql2($str, " and ", " {$search_arr[name][$j]} >=$search_arr_chl[0] ");
if($search_arr_chl[1]){
$str = append_sql2($str, " and ", " {$search_arr[name][$j]} <=$search_arr_chl[1] ");
}
}else{
$str = append_sql2($str, " and ", " {$search_arr[name][$j]} like '%{$search_arr[val][$j]}%' ");
}