Java/JSP

7.20 qna 삭제 여부 추가(7.14실습 파일)

amungstudy 2023. 7. 20. 10:35

-- qna_board 게시글 삭제요청 여부 저장 column 추가

ALTER TABLE qna_board ADD COLUMN

qna_delete char(1) DEFAULT 'N' AFTER qna_readcount;

 

DESC qna_board;

-- 최종 qna_board

CREATE TABLE IF NOT EXISTS qna_board(

qna_num INT PRIMARY KEY AUTO_INCREMENT, -- 글번호

qna_name VARCHAR(20) NOT NULL, -- 작성자 이름

qna_title VARCHAR(50) NOT NULL, -- 글 제목

qna_content TEXT NOT NULL, -- 글 내용

qna_re_ref INT NOT NULL DEFAULT 0, -- 원본 답변글 그룹 번호

qna_re_lev INT NOT NULL DEFAULT 0, -- 답변글 view

qna_re_seq INT NOT NULL DEFAULT 0, -- 답변글 정렬 번호

qna_writer_num INT NOT NULL, -- 글작성자 회원 번호

qna_readcount INT DEFAULT 0, -- 조회수

qna_delete char(1) DEFAULT 'N', -- 게시글 삭제 여부

qna_date TIMESTAMP DEFAULT now() -- 글 작성 시간

);

vo.QnABoardVO에 qna_delete 필드 및 getter,setter 추가, toString 수정

private String qna_delete; // 게시글 삭제 여부

 

삭제 시 sql문 수정

<!-- qna_delete.jsp -->

<c:catch var="e">

<!-- DELETE FROM qna_board WHERE qna_num = ? -->

<s:update var="result" dataSource="java/MySqlDB">

UPDATE qna_board SET qna_delete = 'Y'

WHERE qna_num = ?

<s:param>${param.qna_num}</s:param>

</s:update>

 

qna.list에 삭제 표시 반영

<c:forEach var="board" items="${rs.rows}">

<c:choose>

<c:when test="${board.qna_delete eq 'N'}">

<tr>

<td>${board.qna_num}</td>

<td style="text-align:left;padding:5px;">

<c:if test="${board.qna_re_lev != 0}">

<c:forEach begin="1" end="${board.qna_re_lev}">

&nbsp;&nbsp;&nbsp;

</c:forEach>

┗> <!-- ㅂ + 한자키 특수문자 추가 -->

</c:if>

<a href="qna_detail.jsp?qna_num=${board.qna_num}">

${board.qna_title}

</a>

</td>

<td>${board.qna_re_ref}</td>

<td>${board.qna_re_lev}</td>

<td>${board.qna_re_seq}</td>

<td>${board.qna_name}</td>

<td>${board.qna_date}</td>

<td>${board.qna_readcount}</td>

</tr>

</c:when>

<c:otherwise>

<!-- 삭제 요청이 들어온 게시물 -->

<tr>

<th colspan="8">삭제된 게시물 입니다.</th>

</tr>

</c:otherwise>

</c:choose>

</c:forEach>