상품 다중 검색 질문
본문
<input type="checkbox" name="it_1[]" value=""> 전체
<input type="checkbox" name="it_1[]" value="1" > 1
<input type="checkbox" name="it_1[]" value="2" > 2
if ($it_1)
$where[] = " it_1 = '$it_1' ";
it_1 값이 배열로 넘어 오기 때문에, 배열로 값을 읽어서 처리하시면 체크한 모든 값을 적용할 수 있습니다.
배열로 크기를 체크해서 for문이나 forsearch문으로 처리하라고 하는데 어떻게 해야하나요? ㅠㅠ
!-->!-->답변 4
a.it_1 로 바꿔보세요
슈와이 님 소스 입니다. ㅠ
foreach ($it_1 as $k => $v) {
if ($v == '') break;
$str[] = " a.it_1 = '" . $v . "'";
}
if (isset($str)) $where[] = implode(' or ', $str);
foreach ($it_1 as $k => $v) {
if ($v == '') break;
$str[] = " it_1 = '" . $v . "'";
}
if (isset($str)) $where[] = implode(' or ', $str);
제대로된 코드인지는 모르겠으나 ㅠ...
아래와 같이 하면 되지 않을까 합니다.
if($it_1){
$it_1_sql = " ( ";
for($j=0;$j<sizeof($it_1);$j++){
if($j!=0){ $it_1_sql .= " or "; }
$it_1_sql .= " it_1 = '".$it_1[$j]."' ";
$it_1_sql .= " ) ";
}
$where[] = $it_1_sql;
}
답변을 작성하시기 전에 로그인 해주세요.