반응형

일반적인 리스트 , 뷰  페이지를 작업하게됬다

학교관련 페이지여서 지역과 계열등등의 검색옵션이 필요했다

하나씩하나씩 검색했으면 참 좋았겠지만 역시나 추가요청이 나왔다

여러지역을 눌러서 검색하고싶다고한다

어찌보면 당연한 기능이기도한데 훔

어쨋든 전에는 쿼리문에서 in array 같은 내용으로 작업을했던것 같은데

속도문제도있고 등등 패스하고 

find_in_set 을 써보기로했다

일단 find_in_set 은 특정칼럼에서 내가 원하는 값이 있는지 체크하는? 그정도로 이해했다

근데 이게 검색하는값이 배열이여버렸다 

그래서 다른방법을 찾을까하다가

find_in_set 자체가 쿼리문이 크게 무겁지않다는 내용이 있어서

그냥 배열수로 for문 돌려서 쿼리를 날려버렸다

일단 쿼리문은 

if($_GET['wr_1'])
{
    $wr_1_cnt = count($_GET['wr_1']);
    
    $sql_search.= " and ( ";
    
    for($t=0; $t<$wr_1_cnt; $t++)
    {
        if($t == 0)
        {
            $or = '';    
        }
        else
        {
            $or = 'or';
        }
        
        $sql_search.= " {$or} find_in_set('{$_GET['wr_1'][$t]}', local) ";
    }
    
    $sql_search.= " ) ";
}

 

이런식으로 local 칼럼에 wr_1값이 있으면~~~ 식으로 작성했다

왠만큼 잘나오니 일단 만족~!

728x90
반응형

+ Recent posts