-
(기능추가4-6) 댓글삭제기능 구현(백엔드)프로젝트/프로젝트_사진첩 2023. 9. 17. 17:46
image_display230906.php
$sql2 = "SELECT * FROM comment WHERE image_id={$filtered_id}";$result2 = mysqli_query($conn, $sql2);while ($row = mysqli_fetch_array($result2)){$delete_box = '<form class="delete_box" action="process_comment_delete.php" method="POST" onsubmit="if(!confirm(\'정말 삭제하시겠습니까?\')) {return false;}"><input type="hidden" name="id" value="'.$row['id'].'"><input type="hidden" name="page_id" value="'.$_GET['id'].'"><input id="delete_submit" type="submit" value="X"></form>';$escaped_comment = htmlspecialchars($row['comment']);$comment_list = $comment_list."<li class='float_left'>{$escaped_comment}</li>{$delete_box}";}delete_box를 삽입한 후 댓글간 간격을 맞추도록 css를 설정함
form.delete_box{margin-left : 7px;display:block; //block속성을 이용해서 x박스이후 줄바꿈이 되도록 설정함margin-bottom:5px; //댓글 사이의 간격을 조정}process_comment_delete.php
<?php$conn=mysqli_connect("localhost:81","root","password","project_memories");
settype($_POST['id'], "integer");$filtered = array('id'=>mysqli_real_escape_string($conn, $_POST['id']), //comment테이블의 id값'page_id'=>mysqli_real_escape_string($conn, $_POST['page_id'])//원래 페이지로 되돌아가기위한 id값(image테이블의 id값));$sql = "DELETE FROM commentWHERE id = {$filtered['id']};";$result = mysqli_query($conn, $sql);if($result == false){echo "삭제하는 과정에서 문제가 생겼읍니다.";error_log(mysqli_error($conn));} else {header("Location: image_display230906.php?id=".$filtered['page_id']); //원래페이지로 리다이렉트하는 함수}?>comment table / image_id키는 image테이블의 외래키이다. 느낀점>
-delete box를 백엔드로 어떻게 구현할지, 테이블은 어떤식으로 구성할지 고민을 많이 했다.
하지만 comment테이블의 id값을 그대로 받아온다는 생각을 하지 못했었는데, 코드를 보다가 그 생각이 문득 떠올랐다.
테이블을 또 나누고, 바꾸고할 생각에 머리가 아팠었는데 있는것을 그대로 활용하여 기능을 구현해서 기분이 좋았다.
'프로젝트 > 프로젝트_사진첩' 카테고리의 다른 글
(기능추가 4-7) 업로드된 사진 삭제하기 (0) 2023.11.26 (기능추가 3-3) 무한스크롤 파인튜닝하기 (2) 2023.11.26 (기능추가4-5) 댓글삭제기능 구현(프론트) (0) 2023.09.13 (기능추가4-4) 댓글기능 구현 (1) 2023.09.12 (기능추가4-3) 작성자 테이블 구축, 양식초기화, select 태그 (0) 2023.09.09