ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • (기능추가4-4) 댓글기능 구현
    프로젝트/프로젝트_사진첩 2023. 9. 12. 00:59

    <추가사항>

    image_display.php : 댓글 입력창과 출력창 구현

        $sql2 = "SELECT * FROM comment WHERE image_id={$filtered_id}";
        $result2 = mysqli_query($conn, $sql2);
        while ($row = mysqli_fetch_array($result2)){
            $escaped_comment = htmlspecialchars($row['comment']);
            $comment_list = $comment_list."<li>{$escaped_comment}</li>"; //댓글을 리스트로 표현
        }
                    <div class="chatLayout">  //댓글입력창과 출력창 구현
                    <ol>
                        <?=$comment_list?>
                    </ol>
                    </div>
                    <div class="chatInputLayout">
                        <form action="process_comment_create.php" method="post">
                            <input type="hidden" name="image_id" value="<?=$_GET['id']?>">
                            <input type="text" id="comment" name="comment" placeholder="댓글을 입력하세요.">
                            <input type="submit" id="submit" value="남기기">
                        </form>
                    </div

    process_comment_create.php : 댓글을 DB로 전송하여 추가

    <?php
    $conn=mysqli_connect("localhost:81","root","password","project_memories");
    $filtered = array(
        'image_id'=>mysqli_real_escape_string($conn, $_POST['image_id']),
        'comment'=>mysqli_real_escape_string($conn, $_POST['comment']),
    );

    $sql = "INSERT INTO comment
            (comment, created, image_id)
            VALUES(
            '{$filtered['comment']}',
            NOW(),
            '{$filtered['image_id']}'
            )
    ";

    $result = mysqli_query($conn, $sql);
    if($result == false){
        echo "저장하는 과정에서 문제가 생겼읍니다.";
        error_log(mysqli_error($conn));  
    } else {
        header("Location: image_display230906.php?id=".$filtered['image_id']);
    }
    ?>

     

    <느낀점>

    -댓글 테이블에 대해 어떤식으로 구성할까 고민햇는데, image 테이블의 id를 1대 다 형식으로 연결하여 구현했음.

    처음에는 image 테이블에서 id값에 따라 각각의 테이블을 만들까도 생각했는데, 그렇게 한다면 테이블이 너무 많아져 힘들어질거 같아서 테이블 한개로 모든 comment를 관리하기로 했음

    comment 테이블 초기 기획안

     

    -생활코딩에서 활용했던 코드들을 가져다가 수정하면서 사용하니 금방 만들었음. 코드에 대해 잘 이해하고 잘 가져다 쓰고 잘 고치는 능력이 중요한것 같음.

     

    <결과물>

    댓글 입력창과 출력창 구현

Designed by Tistory.