System.out.println(request.getParameterValues("ckMonth")); // checkbox일 경우는 널일때 하나ㅏ만체크했을때 두개를 체크했을때만 넘어오고 둘대 체크를 안했을때는 넘어오지 않는다.
if(request.getParameterValues("ckMonth") != null){ // null일 경우 for문을 돌릴 수 없어서 에러가 나기때문에 if문을 활용하여 null일 경우의 문제를 해결한다.
for(String s : request.getParameterValues("ckMonth")){
System.out.println(s);
}
}
<form action="./lastEmpList.jsp" method="get">
<%
//for( int i =1; i<13; i+=1){
int[] months = {1,2,3,4,5,6,7,8,9,10,11,12}; // 배열을 사용하면 가독성이 좋고 세련되어 보인다.
for(int m : months){
%>
<input type="checkbox" name="ckMonth" value="<%=m%>"><%=m%>월
<%
}
%>
<button type="submit">검색</button>
</form>
위에 배열을 사용하였을때의 쿼리
SELECT * FROM employees
WHERE MONTH(hire_date) IN(5,10);
SELECT * FROM employees
WHERE MONTH(birth_date) IN(5,10, 11);