리스트에서 멀티 검색할때... 채택완료
밀랍
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 포인트
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>
로그인 후 평가할 수 있습니다
댓글을 작성하려면 로그인이 필요합니다.
3년 전
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 .= ' ) ';
}
추천하는 방법은 아닙니다.
로그인 후 평가할 수 있습니다
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인