10개 이상의 여분필드를 사용할 때 게시판 생성 단계에서부터 추가하기
여분 필드를 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 파일에 직접 적용했기 때문에 홈페이지 내의 모든 게시판에 추가 필드가 생성되어 있어야 합니다.
수정 후 새로 생성한 게시판들은 자동으로 추가돼서 상관이 없지만 기존 게시판은 별도로 생성해야 됩니다.
적용 후 신규로 게시판을 생성하면 추가 필드가 자동으로 생성되어 있을 겁니다.
- 여분필드를 활용한 게시판 스킨 제작 - 기본적인 사용 방법
- 여분필드를 활용한 게시판 스킨 제작 - 기초 예제1-1 (글쓰기 페이지)
- 여분필드를 활용한 게시판 스킨 제작 - 기초 예제1-2 (목록 페이지)
- 여분필드를 활용한 게시판 스킨 제작 - 기초 예제1-3 (글읽기 페이지)
- 여분필드에 스마트 에디터 사용하기
- 게시판 설정에 있는 여분 필드란 무엇인가?
- 여분필드를 활용한 게시판 스킨 제작 - 여분 필드 10개 이상 사용하기
- 10개 이상의 여분필드를 사용할 때 게시판 생성 단계에서부터 추가하기
- 여분필드를 활용한 게시판 스킨 제작 - 댓글 쓰기 페이지에 적용하는 방법
- 게시판 설정에 있는 여분 필드 사용 예제
- 여분필드 사용 시 배열을 사용해서 체크박스 항목 만드는 방법
- 여분필드를 체크박스로 사용할 때 배열로 처리하는 방법
댓글목록 +3
댓글목록
신비님의 댓글
신비 작성일
굿팁입니다. ( ^_________ ^) ======b
근데, 속도엔 큰 지장이 없나요?
사용하지도 않는데,
게시판 생성할 때마다 모든 게시판에 필드가 추가되어 있으면
그것도 좀 그럴 것 같긴 한데...
관리자님의 댓글의 댓글
관리자 작성일
본문 내용에도 언급했지만 일부 게시판만 적용할 목적이면 원본 파일까지 수정하면서 사용할 필요가 없습니다.
이전 강좌에 있는 방법으로 하면 됩니다.
http://gnustudy.com/bbs/board.php?bo_table=skin_board&wr_id=31
대량의 정보가 들어가 있다면 모를까 속도에 크게 영향은 없을것 같습니다.
신비님의 댓글의 댓글
신비 작성일
아니, 설치하더라도 속도에 지장이 없는지가 더 궁금해서요...
별 차이 없으면 이 방법이 훨씬 나아보여서요...