240130 게시판만들기(관리자페이지-검색넣기)

2024. 1. 30. 12:502023.11.21-2024.05.31

adminboard.jsp

div

input 만들기

				<h2>게시글관리</h2>
				<div class="search">
				<input type="text"><button id="searchBtn">검색</button>
				</div>

 

 

자바스크립트 만들어서 써주기

<script type="text/javascript">
/* $(document).ready(function () { */
$(function(){
	$('#searchBtn').click(function (){
		let search = $('#search').val();
		location.href="./board?search="+search;	
	});
});
</script>

서블릿에서 잡아서 와! 할 수 있다.

 

AdminBoard 서블릿 가서 써주기

	protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
		System.out.println("search : " + request.getParameter("search"));

 

 

AdminDAO가서 만들어주기/

//2024.01.30
		public List<BoardDTO> boardList(String parameter) {//위에랑 똑같은데 쿼리문만 다르다. 
			List<BoardDTO> list = new ArrayList<BoardDTO>();
			Connection con = db.getConnection();
			PreparedStatement pstmt = null;
			ResultSet rs = null;
			String sql = "";

			try {
				pstmt = con.prepareStatement(sql);
				rs = pstmt.executeQuery();

				while (rs.next()) {
					BoardDTO e = new BoardDTO();
					e.setNo(rs.getInt("board_no"));
					e.setTitle(rs.getString("board_title"));
					e.setWrite(rs.getString("mname"));// ? member에서 옵니다.
					e.setDate(rs.getString("board_date"));
					e.setCount(rs.getInt("count")); // ? visitcount에서 옵니다.
					e.setComment(rs.getInt("comment"));// ? 댓글에서 옵니다.
					e.setIp(rs.getString("board_ip"));
					e.setDel(rs.getInt("board_del"));//만들어주세요.
					list.add(e);
				}

			} catch (SQLException e) {
				e.printStackTrace();
			} finally {
				close(rs, pstmt, con);
			}
			return list;
		}
	}

 

 

데이터베이스 쿼리문

			String sql = "SELECT board_no, board_title, board_date, board_ip, board_del, "
					+ " (SELECT count(*) FROM visitcount v WHERE v.board_no=b.board_no) as count,"
					+ " (SELECT count(*) FROM comment c WHERE c.board_no=b.board_no) as comment, m.mname "
					+ " FROM board b JOIN member m ON b.mno=m.mno"
					+ " WHERE board_title LIKE CONCAT('%', ?, '%')"
					+ "	OR board_content LIKE CONCAT('%', ?, '%')"
					+ " OR mname LIKE CONCAT('%', ?, '%')"
					+ " ORDER BY board_no DESC";

>문자열 참고

https://www.codingfactory.net/12490

 

MariaDB / 함수 / CONCAT, CONCAT_WS / 문자열 합치는 함수

예제로 사용한 데이터베이스는 employees입니다. CONCAT CONCAT은 문자열을 이어주는 함수입니다. 예를 들어 CONCAT( first_name, last_name )는 first_name의 값과 last_name의 값을 이어서 출력합니다. MariaDB [employe

www.codingfactory.net

 

게시판 글 관리하기(게시판 글 삭제-관리하기, 검색)

 

 

게시판 댓글 관리하기

보드 리스트랑 같이하기