채택완료

리스트에서 멀티 검색할때...

리스트에서 검색할때

체크박스를 만들어서 "wr_10"번에 값이 있는것만 검색할려고 하면

어떤식으로 해야 하나요?

 

Copy
<div>
    <label><input type="checkbox" name="wr_10[]" value=""> 통장 </label>
    <label><input type="checkbox" name="wr_11[]" value=""> 현금 </label>
    <label><input type="checkbox" name="wr_12[]" value=""> 카드 </label>
</div>

 

체크박스를 만들어서 특정값이 아니라 wr_10이나 wr_11번에 값이 있는것만 검색하고 싶습니다.

|

답변 2개

채택된 답변
+20 포인트

검색창 부분에 아래 소스를 추가하시고..

Copy
<div>
    <label><input type="checkbox" name="wr_10" value="1"> 통장 </label>
    <label><input type="checkbox" name="wr_11" value="1"> 현금 </label>
    <label><input type="checkbox" name="wr_12" value="1"> 카드 </label>
</div>

 

/bbs/list.php 파일을 아래와 같이 수정

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

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

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

 

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

    $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($wr_10) {

        $sql_search .= " and wr_10 != '' ";

    }

    if($wr_11) {

        $sql_search .= " and wr_11 != '' ";

    }

    if($wr_12) {

        $sql_search .= " and wr_12 != '' ";

    }

 

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

    // 라엘님 제안 코드로 대체 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'];

} else {

    $sql_search = "";

 

    $total_count = $board['bo_count_write'];

}
    if($wr_10 || $wr_11 || $wr_12 ) {
       $sql_search .= " and ( "
        $or_op='';
    if($wr_10) {
        $sql_search .= " wr_10 != '' ";
        $or_op=' or ';
    }
    if($wr_11) {
        $sql_search .= " $or_op wr_11 != '' ";
        $or_op=' or ';
    }
    if($wr_12) {
        $sql_search .= " $or_op wr_12 != '' ";
    }

    $sql_search .= ' ) ';

}

추천하는 방법은 아닙니다.

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