안녕하세요!첫번째 사진이 화면에서 보여질 값을 설정한 것이고두번째 사진이 쿼리문 실행하는 화면입니다.제가 아직 초보여서 그대로 넣어서 그대로 받아오는 건 알겠는데 그걸 응용해서쿼리문을 바꾼 값을 어떻게 출력해야하는지 모르겠네요 ㅠ사실 첫번째 화면도 다 뜯어고쳐야하지만...도움을 주셨음 합니다 Db에 출력된 카운트 값을 어떻게 화면에 띄울 수 있는지... 답변 부탁드리겠습니다☺️
질문의 의미가 이게 맞는지는 모르겠지만 java 단은 이 메소드 참고하시고 화면에서 dao.countTeams(team) 로 결과값을 가지고 올수 있을것 같습니다.public int countTeams(Team team){ int count = 0; String course_1 = team.getTeamCourse(); try { String query = "SELECT COUNT(*) FROM team"; if(course_1 != null && course_1.length() != 0){ query += "WHERE teamcourse= ? AND enterdate != exitdate"; pstmt = conn.prepareStatement(query); pstmt.setString(1, course_1); }else{ pstmt = conn.prepareStatement(query); } ResultSet rs = pstmt.executeQuery(); while(rs.next()){ count = rs.getInt(1); } rs.close(); pstmt.close(); conn.close(); } catch(Exception e) { e.printStackTrace(); } return count; }
제일 위에 있는 <% %> 태그 아래쪽에 int count = dao.countTeams(team); 추가하시고 출력할 html 태그안에 <%=count%> 입력하시면 될 것 같습니다.
윗분들 말대로 하구 출력을 <%= dao.countTeams(team)%>으로 하니 출력은 되는데 쿼리문 조건부를 못 읽네요 ㅠㅠ?부분에 들어갈 데이터를 못 읽는것 같아요... 계속 찾아보고 있겠습니다!
헉 그쪽에도 문제가 있었군요..! 그런데도 쿼리 조건문이 반영이 안되고 그냥 데이터값만 읽어지네요 3(조건설정)이나와야하는데 18(전체데이터값)이 나오는,,,프론트 코드 그리고 수정한 코드입니다!
request.getParameter("teamCourse");이 부분부터 값이 정상적으로 넘어오고 있는지 System.out.println() 등으로 확인이 필요하겠네요. 그리고 한가지 더 말씀드리자면 "SELECT COUNT(*) FROM team" 이 문자열 끝부분에 스페이스 입력하지 않으면 WHERE 절이 붙었을때 에러날 것 같네요.
입력부분부터 값이 어떻게 출력되는지 계속 따라가면서 확인해보는게 좋겠네요.일단 얼핏보기에는 첫번째 사진의 select 태그 name 속성이 teamcourse 이고 마지막 사진의 request.getParameter() 부분에는 teamCourse로 들어가 있는게 문제인듯 합니다.