체크박스를 이용한, 다중검색 쿼리 문의입니다. 정보
체크박스를 이용한, 다중검색 쿼리 문의입니다.
본문
안녕하세요. 고수님들.
체크박스 다중검색을 질문드렷는데요.
다른게 궁금해서요.
체크박스 입력쪽은 아래와 같구요
=====================
<table width="100%" border="1" cellpadding="0" cellspacing="0">
<form name="114_search" metdod="get" action="<?=$PHP_SELF?>">
<input type="hidden" name="smode" value="1">
<tr>
<td width="60" align="center" bgcolor="#ffffcc">일반건설</td>
<td bgcolor="#ffffcc"><input id="stotal1" type="checkbox" name="stotal1" value="1" />전체</td>
<td bgcolor="#ffffcc"><input type="checkbox" name="pbiztype[]" value="토목">토목</td>
<td bgcolor="#ffffcc"><input type="checkbox" name="pbiztype[]" value="건축">건축</td>
<td bgcolor="#ffffcc"><input type="checkbox" name="pbiztype[]" value="토건">토건</td>
<td bgcolor="#ffffcc"><input type="checkbox" name="pbiztype[]" value="조경">조경</td>
<td bgcolor="#ffffcc"><input type="checkbox" name="pbiztype[]" value="산업설비">산업설비</td>
</tr>
=====================
체크박스 체크후 검색쪽은 다음과 같습니다.
======================
<?
for($i=0;$i<sizeof($pbiztype);$i++)
{
$where .= " or pbiztype_1='$pbiztype[$i]'";
}
$list_que = " select * from wp_yangdo where $where order by idx desc ";
?>
======================
여기서 $where 가요...
pbiztype 배열변수는 잘 가져오는데..
실제 값이
or pbiztype_1='건축' or pbiztype_1='토목' or pbiztype_1='조경'....
이리 되잖아요. for 구문 안에서 돌아가니간요.
근데 실제 sql 이 먹으려면.
where or pbiztype_1='건축' or pbiztype_1='토목' or pbiztype_1='조경'....
이리 하면 안먹고요
where pbiztype_1='건축' or pbiztype_1='토목' or pbiztype_1='조경'....
이리 해야 먹잖아요
즉 where 절 다음에 바로 or 가 나오면 안되는거라..
pbiztype 배열변수의 sizeof 따라 for 를 돌리긴 돌리되, 첫번째 배열변수는 or 를 빼고 돌릴수 잇나요?
고수님들의 고견을 부탁드릴게요.ㅠㅠ
체크박스 다중검색을 질문드렷는데요.
다른게 궁금해서요.
체크박스 입력쪽은 아래와 같구요
=====================
<table width="100%" border="1" cellpadding="0" cellspacing="0">
<form name="114_search" metdod="get" action="<?=$PHP_SELF?>">
<input type="hidden" name="smode" value="1">
<tr>
<td width="60" align="center" bgcolor="#ffffcc">일반건설</td>
<td bgcolor="#ffffcc"><input id="stotal1" type="checkbox" name="stotal1" value="1" />전체</td>
<td bgcolor="#ffffcc"><input type="checkbox" name="pbiztype[]" value="토목">토목</td>
<td bgcolor="#ffffcc"><input type="checkbox" name="pbiztype[]" value="건축">건축</td>
<td bgcolor="#ffffcc"><input type="checkbox" name="pbiztype[]" value="토건">토건</td>
<td bgcolor="#ffffcc"><input type="checkbox" name="pbiztype[]" value="조경">조경</td>
<td bgcolor="#ffffcc"><input type="checkbox" name="pbiztype[]" value="산업설비">산업설비</td>
</tr>
=====================
체크박스 체크후 검색쪽은 다음과 같습니다.
======================
<?
for($i=0;$i<sizeof($pbiztype);$i++)
{
$where .= " or pbiztype_1='$pbiztype[$i]'";
}
$list_que = " select * from wp_yangdo where $where order by idx desc ";
?>
======================
여기서 $where 가요...
pbiztype 배열변수는 잘 가져오는데..
실제 값이
or pbiztype_1='건축' or pbiztype_1='토목' or pbiztype_1='조경'....
이리 되잖아요. for 구문 안에서 돌아가니간요.
근데 실제 sql 이 먹으려면.
where or pbiztype_1='건축' or pbiztype_1='토목' or pbiztype_1='조경'....
이리 하면 안먹고요
where pbiztype_1='건축' or pbiztype_1='토목' or pbiztype_1='조경'....
이리 해야 먹잖아요
즉 where 절 다음에 바로 or 가 나오면 안되는거라..
pbiztype 배열변수의 sizeof 따라 for 를 돌리긴 돌리되, 첫번째 배열변수는 or 를 빼고 돌릴수 잇나요?
고수님들의 고견을 부탁드릴게요.ㅠㅠ
댓글 전체

for($i=0;$i<sizeof($pbiztype);$i++)
{
if($i) $where .= " or pbiztype_1='$pbiztype[$i]'";
else $where .= " pbiztype_1='$pbiztype[$i]'";
}
{
if($i) $where .= " or pbiztype_1='$pbiztype[$i]'";
else $where .= " pbiztype_1='$pbiztype[$i]'";
}