여분 필드를 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 파일에 직접 적용했기 때문에 홈페이지 내의 모든 게시판에 추가 필드가 생성되어 있어야 합니다.
수정 후 새로 생성한 게시판들은 자동으로 추가돼서 상관이 없지만 기존 게시판은 별도로 생성해야 됩니다.
적용 후 신규로 게시판을 생성하면 추가 필드가 자동으로 생성되어 있을 겁니다.