노벨보드 만들기 [3] > 자유게시판

자유게시판

노벨보드 만들기 [3] 정보

기타 노벨보드 만들기 [3]

본문

게시판 만들기 3화
( 참고 - http://mytechnic.com/
  : PHP 한글 레퍼런스가 있는 곳입니다. 검색중 우연히 찾았습니다. PHP 명령어에 대해 설명이 나와있습니다. )


오늘은 노벨보드에서 사용할 게시판 테이블을 만들고 MySQL에 넣는방법을 알아 보겠습니다.
우리가 보고 있는 여기 '자유게시판' 을 사용하기 위해서는 어떤 테이블 들이 필요 할까요?
( 테이블은 DB에서 간편하게 데이타를 읽고 쓰기 위해 사용합니다.
  예를 들면 책을 정리하기 위해 조립식 책장을 하나 샀습니다. 이 책장에 책을 정리 하기 위해 필요한 모양으로 조립을 합니다. 이것을 테이블이라 생각하면 됩니다. 책장을 조립하고 각 칸마다 정해진 책을 넣습니다. 정리하기 편하겠죠? )

게시판에 넣는 글 하나 하나를 게시물이라 합니다.
글은 글쓴이, 글제목, 내용, 글쓴 날짜 등등의 데이타를 가집니다.
게시물 테이블에 대해서는 다음에 다루도록 하겠습니다.

게시물 테이블을 관리하기 위해 게시판 테이블이 필요합니다.
게시판 이름, 스킨경로, 관리자, 등등의 자료를 가진 테이블을 만듭니다.

/*  테이블 명 */
$cfg[nb_zip] = "nb_zp";
$cfg[nb_board] = "nb_board";
$cfg[nb_member] = "nb_member";
$cfg[nb_default] = "nb_default";

/* 게시판 테이블 */
$nb_board ="
    create table $cfg[nb_board] (
        nb_id varchar(20) NOT NULL default '',  # 게시판 아이디
        nb_subject varchar(255) NOT NULL default '',  # 제목
        nb_admin varchar(20) NOT NULL default '',  # 관리자 아이디

        nb_memo_letter text NOT NULL,  # 게시판 소개 글
        nb_memo_pic varchar(255) NOT NULL default '',  # 게시판 소개 그림

        nb_level_list tinyint(4) NOT NULL default '0',  # 접근 레벨
        nb_level_read tinyint(4) NOT NULL default '0',  # 읽기 레벨
        nb_level_write tinyint(4) NOT NULL default '0',  # 쓰기 레벨
        nb_level_reply tinyint(4) NOT NULL default '0',  # 답변 레벨
        nb_level_comment tinyint(4) NOT NULL default '0',  # 의견 레벨
        nb_level_upload tinyint(4) NOT NULL default '0',  # 업로드 레벨
        nb_level_download tinyint(4) NOT NULL default '0',  # 다운로드 레벨
        nb_level_notice tinyint(4) NOT NULL default '0',  # 공지 레벨
        nb_level_html tinyint(4) NOT NULL default '0',  # HTML 레벨

        nb_skin varchar(255) NOT NULL default '',  # 스킨 경로
        nb_include_head varchar(255) NOT NULL default '',  # 해더 경로
        nb_include_tail varchar(255) NOT NULL default '',  # 푸터 경로
        nb_content_head text NOT NULL,  # 해더 소스
        nb_content_tail text NOT NULL,  # 푸터 소스

        nb_upload_size int(11) NOT NULL default '0',  # 업로드 사이즈

        PRIMARY KEY (nb_id)
)";

그럼 한줄씩 알아 보겠습니다.

$nb_board ="
 - 게시판 테이블을 변수에 넣어 다음에 쉽게 부룰수 있도록 합니다.

    create table $cfg[nb_board] ( 
 -  create table 라는 것은 테이블을 만들어라 하는 MySQL 명령입니다.
  만들 테이블 이름이 변수로 되어 있는데 게시판 테이블의 이름을 간편하게 바꿀수 있도록 하기 위합입니다.
  그냥 변수부분에 자신이 만들 게시판 이름을 넣어도 됩니다.

        nb_id varchar(20) NOT NULL default '',  # 게시판 아이디
 - 게시판 아이디를 정합니다. 게시판 아이디는 프로그램 상에서 쉽게 찾게 찾기위해 정해 주는 아이디 입니다.
  nb_id varchar(20)은 20글자(알파벳으로)의 nb_id라는 이름의 게시판 아이디를 저장할 위치라는 의미 입니다.
  각 항목마다 이름을 정해주어야 하는데( 나중에 찾기 쉽게 ) 여기서는 nb_id로 정했다는 의미 입니다.
  배열 변수라고 생각하시면 됩니다.
  NOT NULL default '' 에서 NULL은 비어 있다는 의미며 NOT는 아니다 라는 의미를 가집니다.(MySLQ 에서)
  즉 비어있지 않아야 한다는 의미며 default '' 은 기본으로 비어있는 문자를 입력하라는 의미 입니다.

        nb_subject varchar(255) NOT NULL default '',  # 제목
 - 게시판 제목입니다.

        nb_admin varchar(20) NOT NULL default '',  # 관리자 아이디
 - 관리자 아이디입니다.

        nb_memo_letter text NOT NULL,  # 게시판 소개 글
 - 게시판 소개 글 입니다.
  노벨보드는 소설 연재 게시판 입니다. 여기서는 각 소설의 소개글이 들어 갑니다.

        nb_memo_pic varchar(255) NOT NULL default '',  # 게시판 소개 그림
 - 책표지 혹은 소설을 대표할 그림의 이름입니다.

        nb_level_list tinyint(4) NOT NULL default '0',  # 접근 레벨
 - 접근 레벨이란 게시판을 사용할 수 있는 레벨을 말합니다.
  tinyint(4) 은 정수형(숫자) 입니다. -128 ~ 127까지의 수를 표현할 수 있습니다.
  (4)의 숫자는 의미 없습니다.
  위에서 문자형인 varchar(30) 에서 30이라는 숫자는 30자리를 말하지만 정수형(숫자)에서는 무시됩니다.
  즉, 있으나 없으나 똑같습니다.
  정수형은 정해진 숫자 범위가 있기 때문입니다. ( 문자는 몇글자라고 범위가 정해져 있지 않음 )
  그럼 (4)은 뭐냐? 아무것도 아닙니다. ^^;;
  그냥 4자리 숫자로 써야지 하는 것을 나타내 나중에 참고 하기 위함 입니다.
  실제로는 없으나 있으나 차지하는 자리수는 같습니다. ( 입력한 숫자에 따라 )

        nb_level_read tinyint(4) NOT NULL default '0',  # 읽기 레벨
 - 읽기 레벨입니다.

        nb_level_write tinyint(4) NOT NULL default '0',  # 쓰기 레벨
 - 쓰기 레벨 입니다.

        nb_level_reply tinyint(4) NOT NULL default '0',  # 답변 레벨
 - 답변 레벨 입니다.

        nb_level_comment tinyint(4) NOT NULL default '0',  # 의견 레벨
 - 의견 레벨 입니다.

        nb_level_upload tinyint(4) NOT NULL default '0',  # 업로드 레벨
 - 업로드 레벨 입니다.

        nb_level_download tinyint(4) NOT NULL default '0',  # 다운로드 레벨
 - 다운로드 레벨 입니다.

        nb_level_notice tinyint(4) NOT NULL default '0',  # 공지 레벨
- 공지 레벨 입니다.

        nb_level_html tinyint(4) NOT NULL default '0',  # HTML 레벨
- html 명령을 사용할 수 있는 레벨입니다.

        nb_skin varchar(255) NOT NULL default '',  # 스킨 경로
 - 스킨 경로 입니다.

        nb_include_head varchar(255) NOT NULL default '',  # 해더 경로
        nb_include_tail varchar(255) NOT NULL default '',  # 푸터 경로
        nb_content_head text NOT NULL,  # 해더 소스
        nb_content_tail text NOT NULL,  # 푸터 소스
 - 게시판 앞 뒤로 붙는 내용에 대한 설정입니다.
  여기서 못보던 text형으로 정의 되어 있습니다.
  text는 긴 글을 입력 할 때 사용합니다.
  최대 65535글자를 입력할 수 있습니다.
  노벨보드는 아직 완성되지 않은 게시판이므로 이것을 그대로 씁니다.
  완성되면 더 긴글을 쓸 수 있도록 수정할 생각입니다. ( 소설은 쪼~옴 길거든여 )
  참고로 그누보드는 text형을 그대로 사용하는듯 합니다.

        nb_upload_size int(11) NOT NULL default '0',  # 업로드 사이즈
 - 자료를 업로드 할 용량을 정합니다.

        PRIMARY KEY (nb_id)
 - 기본 키 설정
)";


다음시간에 계속 이어서 연재 하겠습니다.

그냥 지나가는 한마디 :
 게시판 만드는 방법을 숙제로 내주는 학교가 있더군요. 컥~
 파워포인터로 작성해서 교수님 홈페이지에 올리는것이 숙제!
 어무이~~
추천
0
  • 복사

댓글 0개

© SIRSOFT
현재 페이지 제일 처음으로