프로그래밍/PHP

[PHP] 게시판 만들기 - DB 설계

노력의천재 2019. 10. 30. 16:11

※ 해당 프로젝트는 XAMPP + Eclipse를 이용하여 진행되었습니다. IDE 툴은 무엇을 사용해도 상관 없지만 XAMPP가 설치되어 있지 않으시다면 먼저 설치를 하셔야합니다. 링크

 

1. XAMPP Control 패널 실행

 

2. PHPMyadmin 접속 + DB 설계

주소창에 127.0.0.1/phpmyadmin 입력하고 로그인하면 다음과 같은 화면이 나옵니다.

데이터베이스를 클릭하여 새 데이터베이스를 만들어줍니다. (bbs라는 새로운 데이터베이스를 생성함) 그 다음 New 버튼을 클릭하여 새로운 테이블을 생성해줍니다.

다음과 같이 테이블 구조를 입력할 수 있는 화면이 나온다. 이번 프로젝트에서 회원의 정보를 저장하는 User 테이블, 게시판의 정보를 저장하는 board 테이블, 댓글의 정보를 저장하는 reply 테이블 총 3개의 테이블을 만들 예정입니다. 일단 로그인, 회원가입을 위한 User 테이블을 다음과 같이 만들어 줍니다.

 

 

※ SQL 문을 이용하는 경우

create table user (

         num int not null auto_increment,

         id varchar(100) not null,

         pass varchar(100) not null,

         name char(20),

         gender char(10),

         phone char(20),

         email char(80),

         primary key(num)

);

회원의 정보를 저장하는 User 테이블

다음과 같이 board, reply 테이블도 만들어줍니다.

 

게시판 정보를 저장하는 Board 테이블
댓글 정보를 저장하는 Reply 테이블

 

※ 테이블 설명

User 테이블

  • num : 회원 일련번호(auto_increment 설정을 통해 자동으로 테이블에 정보가 저장될때 마다 1씩 증가함, 기본 키)
  • id : 회원의 아이디
  • pass : 회원의 비밀번호
  • name : 회원의 이름
  • gender : 회원의 성별
  • phone : 회원의 전화번호
  • email : 회원의 이메일

 

Board 테이블

  • idx : 게시판 일련번호(auto_increment 설정, 기본 키)
  • name : 회원의 아이디
  • pw : 게시글 비밀번호
  • title : 게시글 제목
  • content : 게시글 내용
  • date : 게시글 작성 날짜
  • hit : 게시글 조회수 -> null값 허용으로 수정!
  • lock_post : 비밀글 설정 유무(1이면 비밀글, 0이면 일반글) -> null값 허용으로 수정!

 

Reply 테이블

  • idx : 댓글 일련번호(auto_increment 설정, 기본 키)
  • con_num : 게시글 번호
  • name : 회원의 아이디
  • pw : 댓글 비밀번호
  • content : 댓글 내용
  • date :  댓글 작성 날짜

 

PHP 게시판 만들기 시리즈 👇

 

노력의 천재

Carpe Diem, Seize the day

transferhwang.tistory.com