ABOUT ME

Today
Yesterday
Total
  • (기능추가4-2) 상세페이지 내용 DB에서 불러오기
    프로젝트/프로젝트_사진첩 2023. 9. 9. 01:25

    -전체소스코드

    php

    <?php
    $conn=mysqli_connect("localhost:81","root","password","project_memories");
    $image_display='';
    $formatted_date='';
    if (isset($_GET['id'])){
        $filtered_id = mysqli_real_escape_string($conn, $_GET['id']);
        $sql = "SELECT * FROM image WHERE id={$filtered_id}"; //id값을 가져와서 해당 id값에 맞는 이미지를 불러옴
        $result = mysqli_query($conn, $sql);
        $row = mysqli_fetch_array($result);
        $article = array(
            'created' => htmlspecialchars($row['created']),
            'image' => $row['image'] //htmlspecialchars를 쓰면 이미지를 불러올수없어서 안씀
        );
        $image_display =
        '<img src="data:image;base64,'.base64_encode($article['image']).'"alt="Image" style="width: 100%; height: 100%;">';
        $formatted_date = date("y년 m월 d일", strtotime($article['created']));
    //strtotime()으로 문자열 형태의 날짜를 Unix 타임스탬프로 변환한 후 date함수를 통해 포맷변경.
    }   
    ?>
    <!DOCTYPE html>
    <html lang="ko">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Memories</title>
        <link href="style_display.css" rel="stylesheet">
    </head>
    <body>
        <div class="layout">
            <div class="topLayout">
                <div class="titleContents" id="who">who</div>
                <div class="titleContents" id="when"><?=$formatted_date?></div> //날짜표현
                <div class="titleContents" id="close"><a href="index230906.php">X</a></div> //원래페이지로 돌아가는 링크
            </div>
            <div class="photo">
                <div class="photoLayout" id="leftLayout">
                    <?=$image_display?>
                </div>
                <div class="photoLayout" id="rightLayout">
                    <div class="chatLayout"></div>
                    <div class="chatInputLayout"></div>
                </div>
            <div>
        </div>
    </body>
    </html>

    css추가

    a {
        color : rgb(208, 208, 208);
        text-decoration: none;
    }

    현재 페이지

    -id값을 통해 이미지와 날짜를 불러왔고, X를 누르면 홈페이지로 돌아가도록 구현함. 

    -작성자와 채팅로그. 채팅input 창도 구현할 필요가 있음.

     

    느낀점>

    -구현에 오랜시간 걸릴줄 알았는데 그렇게 오래 안걸려서 신기했음. 1시간도 안되서 구현함.(생활코딩에서 배운것과 검색을통해 정보를 활용하니 금방했음)

    -ajax으로 나중에 비동기적으로 페이지를 이동하지 않더라도 구현할 수 있는 방법을 알고싶다.

Designed by Tistory.