여분 필드를 10개 이상 사용하는 방법은 이전 강좌에서 자세히 살펴봤었습니다.

http://gnustudy.com/bbs/board.php?bo_table=skin_board&wr_id=31 

 

위 방법은 원하는 특정 게시판만 사용하고 싶을 때 사용하면 되고

이번 내용은 홈페이지 내의 모든 게시판에 일괄적으로 사용하고 싶을 때 활용하는 방법입니다.

 

그누보드를 설치 후 바로 하시는 게 좋습니다.

필드 추가 부분은 기존에 생성된 게시판은 적용이 안 되며 새로 생성한 게시판에서만 자동으로 적용됩니다.

기존 게시판은 이전 강좌 참고해서 db에 추가 필드를 직접 생성해놔야 합니다.

 

예제는 여분 필드 11번부터 20번까지 10개를 추가해보겠습니다.

 

 

1. adm/sql_write.sql

 

기존 코드 복사해서 11번 부터 20번까지 추가

 

CREATE TABLE `__TABLE_NAME__` (
  `wr_id` int(11) NOT NULL AUTO_INCREMENT,
  `wr_num` int(11) NOT NULL DEFAULT '0',
  .......................................
  ..................................
  `wr_9` varchar(255) NOT NULL,
  `wr_10` varchar(255) NOT NULL,
  `wr_11` varchar(255) NOT NULL,
  `wr_12` varchar(255) NOT NULL,
  `wr_13` varchar(255) NOT NULL,
  `wr_14` varchar(255) NOT NULL,
  `wr_15` varchar(255) NOT NULL,
  `wr_16` varchar(255) NOT NULL,
  `wr_17` varchar(255) NOT NULL,
  `wr_18` varchar(255) NOT NULL,
  `wr_19` varchar(255) NOT NULL,
  `wr_20` varchar(255) NOT NULL,
  PRIMARY KEY (`wr_id`),
  KEY `wr_num_reply_parent` (`wr_num`,`wr_reply`,`wr_parent`),
  KEY `wr_is_comment` (`wr_is_comment`,`wr_id`)
) ENGINE=MyISAM  DEFAULT CHARSET=utf8;
 

 

2. bbs/write.php

 

가변 변수 설정을 20으로 수정

 

if ($w == 'u' || $w == 'r') {
    if ($write['wr_id']) {
        // 가변 변수로 $wr_1 .. $wr_10 까지 만든다.
        for ($i=1; $i<=20; $i++) {
            $vvar = "wr_".$i;
            $$vvar = $write['wr_'.$i];
        }
 

 

3. bbs/write_update.php

 

글 저장 부분 SQL 쿼리문에 11~20까지 추가

신규글일 때와 수정글일 때 두 군데 있습니다.

 

 

신규글일 때 (쉼표 주의)

 

$sql = " insert into $write_table
            set wr_num = '$wr_num',
                 ............................
                 ............................
                 wr_8 = '$wr_8',
                 wr_9 = '$wr_9',
                 wr_10 = '$wr_10',
                 wr_11 = '$wr_11',
                 wr_12 = '$wr_12',
                 wr_13 = '$wr_13',
                 wr_14 = '$wr_14',
                 wr_15 = '$wr_15',
                 wr_16 = '$wr_16',
                 wr_17 = '$wr_17',
                 wr_18 = '$wr_18',
                 wr_19 = '$wr_19',
                 wr_20 = '$wr_20' ";
sql_query($sql);
 

 

수정글일 때 (쉼표 주의)

 

$sql = " update {$write_table}
            set ca_name = '{$ca_name}',
                 ..............................
                 ..............................
                 wr_8 = '{$wr_8}',
                 wr_9 = '{$wr_9}',
                 wr_10= '{$wr_10}',
                 wr_11= '{$wr_11}',
                 wr_12= '{$wr_12}',
                 wr_13= '{$wr_13}',
                 wr_14= '{$wr_14}',
                 wr_15= '{$wr_15}',
                 wr_16= '{$wr_16}',
                 wr_17= '{$wr_17}',
                 wr_18= '{$wr_18}',
                 wr_19= '{$wr_19}',
                 wr_20= '{$wr_20}'
                 {$sql_ip}
                 {$sql_password}
          where wr_id = '{$wr['wr_id']}' ";
sql_query($sql);
 

 

참고사항

 

이전 강좌에서처럼 스킨에 write_update.skin.php 파일을 생성해서 쿼리문을 별도로 넣을 필요가 없습니다.

bbs/write_update.php 파일에 직접 적용했기 때문에 홈페이지 내의 모든 게시판에 추가 필드가 생성되어 있어야 합니다.

수정 후 새로 생성한 게시판들은 자동으로 추가돼서 상관이 없지만 기존 게시판은 별도로 생성해야 됩니다.

 

 

적용 후 신규로 게시판을 생성하면 추가 필드가 자동으로 생성되어 있을 겁니다.

 

+ Recent posts