쪼꼬만 지식 가게

Tiny Wisdom Saves You!

Tiny Wisdom saves You!

데이터/IT 조금 전문적으로

홈페이지에 게시판 기능 추가하기

쪼꼬만 아저씨 2025. 2. 7. 15:34
반응형

현재 제공해 주신 사이트의 인덱스 페이지PHP + MySQL 기반의 게시판 기능을 추가하려면 다음과 같은 방식으로 적용하면 됩니다.

✅ 주요 작업 내용

  1. 게시판 섹션 추가 – index.html에 게시판 리스트를 출력
  2. list.php 추가 – 게시글 목록 표시
  3. write.php 추가 – 글 작성 페이지
  4. view.php 추가 – 게시글 조회 페이지
  5. 데이터베이스 테이블 생성 – posts 테이블
  6. Bootstrap 스타일 적용 – 기존 디자인과 조화롭게 적용

📌 1. index.html에 게시판 섹션 추가

HTML을 index.html에 추가하여 게시판 리스트를 표시하고, 게시판 페이지(list.php)로 이동할 수 있도록 합니다.

<!-- 기존 Index 페이지 안에 추가 -->
<div class="container mt-5">
    <h2 class="fw-bold text-primary">📌 게시판</h2>
    <p>최신 게시글을 확인하고 자유롭게 참여하세요!</p>
    
    <div class="list-group">
        <?php
        include("db.php");  // 데이터베이스 연결
        $sql = "SELECT id, title, created_at FROM posts ORDER BY created_at DESC LIMIT 5";
        $result = $conn->query($sql);

        if ($result->num_rows > 0) {
            while ($row = $result->fetch_assoc()) {
                echo '<a href="view.php?id=' . $row["id"] . '" class="list-group-item list-group-item-action">';
                echo '<strong>' . htmlspecialchars($row["title"]) . '</strong> <span class="text-muted small">(' . $row["created_at"] . ')</span>';
                echo '</a>';
            }
        } else {
            echo '<p class="text-muted">게시글이 없습니다.</p>';
        }
        ?>
    </div>

    <a href="list.php" class="btn btn-primary mt-3">게시판 전체 보기</a>
</div>

📌 2. list.php (게시글 목록)

이 파일을 list.php로 저장하여 전체 게시글을 보여주는 페이지를 만듭니다.

query($sql);
?>
    
    

게시판

    글쓰기
    fetch_assoc()) { ?>
번호 제목 작성일
    홈으로



close(); ?>

📌 3. write.php (게시글 작성 페이지)

게시판에서 새 글을 작성할 수 있도록 만듭니다.

query($sql) === TRUE) {
        header("Location: list.php"); // 글 작성 후 목록으로 이동
    } else {
        echo "오류 발생: " . $conn->error;
    }
}
?>
    
    

새 글 작성

취소

📌 4. view.php (게시글 상세 조회)

각 게시글을 클릭하면 내용이 표시됩니다.

query($sql);
$row = $result->fetch_assoc();
?>
    
    

    목록으로



close(); ?>

📌 5. db.php (데이터베이스 연결)

데이터베이스 연결을 위한 파일입니다. 모든 PHP 파일에서 include("db.php");를 추가하면 DB 연결을 유지할 수 있습니다.

<?php
$servername = "localhost";
$username = "root";
$password = "";
$dbname = "board_db";

$conn = new mysqli($servername, $username, $password, $dbname);
if ($conn->connect_error) {
    die("연결 실패: " . $conn->connect_error);
}
?>

📌 6. MySQL 테이블 생성

PHPMyAdmin 또는 MySQL CLI에서 실행하세요.

CREATE DATABASE board_db;
USE board_db;

CREATE TABLE posts (
    id INT AUTO_INCREMENT PRIMARY KEY,
    title VARCHAR(255) NOT NULL,
    content TEXT NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

🚀 최종 정리

✅ index.html에서 게시판 목록 표시
✅ list.php에서 전체 게시글 확인
✅ write.php에서 새 글 작성 가능
✅ view.php에서 게시글 조회 가능
✅ db.php로 MySQL 연결 관리
✅ posts 테이블을 MySQL에 생성
이제 PHP + MySQL 기반의 게시판이 사이트에 정상적으로 추가됩니다! 😊🚀

반응형