본문 바로가기

기능 학습/쇼핑몰 구현

[쇼핑몰 구현] 5. 회원정보 검색

목록


목차

구성

회원 목록 검색 기능 창

 

 

#1 . 검색 유형 및 검색어 전달

<form name="findF" action="find.jsp" class="form-inline">
	<select name="findType" class="form-control mr-2">
		<option value="">::검색 유형::</option>
		<option value="1">회원이름</option>
		<option value="2">아이디</option>
		<option value="3">연락처</option>
	</select>
	<input type="text" name="findKeyword" placeholder="검색어를 입력하세요" 
	class="form-control mr-2">
	<button class="btn btn-success">검 색</button>
</form>

선택한 검색 유형에 따라 회원이름 "1" 아이디 "2" 연락처 "3" 의 값을 findType으로 반환

입력한 검색어를 findKeyword로 반환

 

 

#2 . 회원 정보 검색

	/--회원 정보 검색
	public List<UserVO> findUser(String type, String keyword)
	throws SQLException{
		try {
			String colName="";
			switch(type) {
				case "1": colName="name";
					break;
				case "2": colName="userid";
					break;
				case "3": colName="hp1||hp2||hp3";
					break;
			}
			
			con = DBUtil.getCon();
			
			String sql="select * from member where "+colName+" like ?";
			System.out.println(sql);
			ps=con.prepareStatement(sql);
			ps.setString(1, "%"+keyword+"%");
			rs=ps.executeQuery();
			
			return makeList(rs);
			
			
		}finally {
			close();
		}
	}

switch case 문을 이용해 전달받은 findType에 따라 검색 유형을 유동적으로 설정

전달받은 findKeyword를 회원 테이블에서 조회

(select * from member where "findType" like "findkeyword")

 

	//--회원 정보 리스트
	private List<UserVO> makeList(ResultSet rs) throws SQLException{
		List<UserVO> arr = new ArrayList<>();
		while(rs.next()) {
			int idx = rs.getInt("idx");
			String name = rs.getString("name");
			String userid=rs.getString("userid");
			String pwd=rs.getString("pwd");
			String hp1=rs.getString("hp1");
			String hp2=rs.getString("hp2");
			String hp3=rs.getString("hp3");
			String zipcode=rs.getString("zipcode");
			String addr1=rs.getString("addr1");
			String addr2=rs.getString("addr2");
			java.sql.Date indate=rs.getDate("indate");
			int mileage=rs.getInt("mileage");
			int mstate=rs.getInt("mstate");
			
			UserVO user = new UserVO(idx,name,userid,pwd,hp1,hp2,hp3,
					zipcode,addr1,addr2,indate,mileage,mstate);
			arr.add(user);
		}//while----
		return arr;
	}

조회한 회원 정보의 리스트 생성

 

 

#3 . 회원 정보 출력

회원 정보 검색 결과 창

 

 

<h1 class="text-center m-3">[검색어:<%=findKeyword %> ] 검색 결과</h1>

 

페이지 상단 검색어 출력

 

List<UserVO> userList=userDao.findUser(findType, findKeyword);

 

      <th><%=user.getIdx() %></th>
      <th><%=user.getName() %></th>
      <th><%=user.getUserid() %></th>
      <th><%=user.getAllHp() %></th>
      <th class="txt<%=user.getMstate() %>"><%=str %></th>

조회한 회원 정보 출력