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

list.skin.php 검색 폼을 만들고 있습니다. 채택완료

하단의 검색 부분을 참고해서 만들고 있습니다. 

필드 "type_of_sale" 에서 각자 value 값에 맞는 데이터를 검색을 하려고 하는데 어떻게 해야할지 모르겠네요 ..

 

select 코드를 아래와 같이 추가해서 get 으로 type_of_sale 에 각 value 값을 가져옵니다.

 

     

     

     

     

     

     

   

 

그리고 bbs/list.php 코드를 아래와 같이 수정해 주었습니다.

 

$sop = strtolower($sop);

if ($sop != 'and' && $sop != 'or')

    $sop = 'and';

 

// 분류 선택 또는 검색어가 있다면

$stx = trim($stx);

//검색인지 아닌지 구분하는 변수 초기화

$is_search_bbs = false;

 

if ($sca || $stx || $stx === '0') {     //검색이면

    $is_search_bbs = true;      //검색구분변수 true 지정

    $sql_search = get_sql_search($sca, $sfl, $stx, $sop, $type_of_sale); 

 

 // 가장 작은 번호를 얻어서 변수에 저장 (하단의 페이징에서 사용)

    $sql = " select MIN(wr_num) as min_wr_num from {$write_table} ";

    $row = sql_fetch($sql);

    $min_spt = (int)$row['min_wr_num'];

 

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

 

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

 

 if($sql_apms_where) $sql_search .= $sql_apms_where;

 

    // 원글만 얻는다. (코멘트의 내용도 검색하기 위함)

    // 라엘님 제안 코드로 대체 http://sir.kr/g5_bug/2922

    $sql = " SELECT COUNT(DISTINCT `wr_parent`) AS `cnt` FROM {$write_table} WHERE {$sql_search} ";

    $row = sql_fetch($sql);

    $total_count = $row['cnt'];

    /*

    $sql = " select distinct wr_parent from {$write_table} where {$sql_search} ";

    $result = sql_query($sql);

    $total_count = sql_num_rows($result);

    */

} else {

    $sql_search = "";

    $total_count = $board['bo_count_write'];

}

 

생각을 해보니까 이 경우에는 필드 type_of_sale 에서 value 값이 "상가건물" 을 찾아야 하기 때문에 값을 두 번 전달?? 해주어야 하는군요.

이렇게 검색을 할 수 있나요?

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

답변 1개

채택된 답변
+20 포인트

common.lib.php 의 get_sql_search 함수를 먼저 살펴보시는 게 좋을 것 같습니다.

get_sql_search($search_ca_name,$search_field,$search_field,$search_operator='and') 첫번째 인자는 카테고리이고,

두번째 인자는 검색할 필드,

세번째 인자는 검색어,

마지막 인자는 and 검색인지 or 검색인지를 결정합니다.

때문에 본문의 내용처럼 사용한다면 에러가 발생됩니다.

 

$type_of_field 라는 변수를 게시판 테이블의 wr_1 에 저장한다고 가정하면,

셀렉트박스의 name이 type_of_field 변수가 아닌 wr_1이 되어야 합니다.

 

수정 전에 해당 코드에 사용된 함수가 어떻게 작동하는지를 먼저 살펴본 후 

수정을 하시는 게 좋을 듯 합니다.

 

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

답변에 대한 댓글 1개

감사합니다.

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

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

로그인

전체 질문 목록