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

리스트에서 멀티 검색할때... 채택완료

밀랍 3년 전 조회 2,143

리스트에서 검색할때

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

어떤식으로 해야 하나요?

 

</p>

<p><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></p>

<p>

 

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

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

답변 2개

채택된 답변
+20 포인트
e
3년 전

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

</p>

<p><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 파일을 아래와 같이 수정

</p>

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

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

<p>    $sql_search = get_sql_search($sca, $sfl, $stx, $sop);</p>

<p> </p>

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

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

<p>    $row = sql_fetch($sql);</p>

<p>    $min_spt = (int)$row['min_wr_num'];</p>

<p> </p>

<p>    if (!$spt) $spt = $min_spt;</p>

<p> </p>

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

<p> </p>

<p>    if($wr_10) {</p>

<p>        $sql_search .= " and wr_10 != '' ";</p>

<p>    }</p>

<p>    if($wr_11) {</p>

<p>        $sql_search .= " and wr_11 != '' ";</p>

<p>    }</p>

<p>    if($wr_12) {</p>

<p>        $sql_search .= " and wr_12 != '' ";</p>

<p>    }</p>

<p> </p>

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

<p>    // 라엘님 제안 코드로 대체 <a href="http://sir.kr/g5_bug/2922" target="_blank" rel="noopener noreferrer">http://sir.kr/g5_bug/2922</a></p>

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

<p>    $row = sql_fetch($sql);</p>

<p>    $total_count = $row['cnt'];</p>

<p>} else {</p>

<p>    $sql_search = "";</p>

<p> </p>

<p>    $total_count = $board['bo_count_write'];</p>

<p>}</p>

<p>

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

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

    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 .= ' ) ';

}

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

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

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

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

로그인