10개 이상의 여분필드를 사용할 때 게시판 생성 단계에서부터 추가하기 - 게시판스킨강좌, 그누보드5강좌

본문 바로가기
전체검색

게시판스킨강좌

그누보드, 영카트 초보 제작자분들을 위한 다양한 스킨 제작 활용 팁을 공유합니다.

10개 이상의 여분필드를 사용할 때 게시판 생성 단계에서부터 추가하기

관리자 17-09-24 15:05

여분 필드를 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 파일에 직접 적용했기 때문에 홈페이지 내의 모든 게시판에 추가 필드가 생성되어 있어야 합니다.

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



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


e92aaec7a8036ec5714ce60dcf850258_1506233109_4523.gif

댓글목록 +3

댓글목록

profile_image

신비님의 댓글

신비 작성일

굿팁입니다. ( ^_________ ^) ======b

근데, 속도엔 큰 지장이 없나요?
사용하지도 않는데,
게시판 생성할 때마다 모든 게시판에 필드가 추가되어 있으면
그것도 좀 그럴 것 같긴 한데...

profile_image

관리자님의 댓글의 댓글

관리자 작성일

본문 내용에도 언급했지만 일부 게시판만 적용할 목적이면 원본 파일까지 수정하면서 사용할 필요가 없습니다.
이전 강좌에 있는 방법으로 하면 됩니다.
http://gnustudy.com/bbs/board.php?bo_table=skin_board&wr_id=31
대량의 정보가 들어가 있다면 모를까 속도에 크게 영향은 없을것 같습니다.

profile_image

신비님의 댓글의 댓글

신비 작성일

아니, 설치하더라도 속도에 지장이 없는지가 더 궁금해서요...
별 차이 없으면 이 방법이 훨씬 나아보여서요...

로그인 후 댓글 작성 가능합니다.

로그인

로그인 후 글 작성 가능합니다.
그누스킨닷컴

그누스터디는 그누보드, 영카트를 이용하시는 초보 사용자를 위한 정보를 공유합니다.

E-MAIL : gnustudy@naver.com / 카카오톡 : gnustudy / 텔레그램 : gnustudy
제작 문의를 제외한 일반 문의는 QA 게시판을 이용해주세요.

Copyright gnustudy.com All rights reserved.