테스트 사이트 - 개발 중인 베타 버전입니다

제가 사용하는 게시판 여분필드 추가하는 단순방법입니다.

· 7년 전 · 11632 · 17

제가 사용하는 게시판 여분필드 추가하는 단순한 방법입니다.

혹시 이 방법에 대한 자료가 올라와 있는지 모르지만 간단하게 여분필드를 원하는 만큼 추가 할 수 있습니다.

사용방법:
    1. adm/board_form_update.php에 아래와 같이 여분필드 추가 부분 지정후 저장
    2. 관리자 화면의 "게시판관리" 에서
        - 신규게시판 : "게시판추가" 클릭하면 추가한 여분필드가 추가된 상태의 신규 게시판 생성됨
        - 기존게시판 : 여분필드 추가할 기존 게시판 "수정" 클릭 후 게시판 수정화면에서 "확인"만 클릭하면 여분필드 추가됨
    ※ 여분필드 추가가 필요 없을 경우 추가된 부분 주석처리 필요(특히 기존 게시판에 대하여 여분필드를 모두 추가 하였을 경우 
      } else if ($w == 'u') { 이하에 지정한 부분은 더 이상 필요하지 않으므로 주석처리 또는 삭제를 하시기 바랍니다.

혹시 필요하신 분이 계실까 싶어 올려 봅니다.

 

[code]

<?php

// 중간 생략
//     :
//     :

if ($w == '') {

    $row = sql_fetch(" select count(*) as cnt from {$g5['board_table']} where bo_table = '{$bo_table}' ");
    if ($row['cnt'])
        alert($bo_table.' 은(는) 이미 존재하는 TABLE 입니다.');

    $sql = " insert into {$g5['board_table']}
                set bo_table = '{$bo_table}',
                    bo_count_write = '0',
                    bo_count_comment = '0',
                    $sql_common ";
    sql_query($sql);

    // 게시판 테이블 생성
    $file = file('./sql_write.sql');
    $sql = implode($file, "\n");

    $create_table = $g5['write_prefix'] . $bo_table;

    // sql_board.sql 파일의 테이블명을 변환
    $source = array('/__TABLE_NAME__/', '/;/');
    $target = array($create_table, '');
    $sql = preg_replace($source, $target, $sql);
    sql_query($sql, FALSE);

 

// ■ 신규 생성 게시판 여분필드 추가 필드 지정 (예시: wr_11 ~ wr_30 추가할 경우)
// 여기부터~
    sql_query(" ALTER TABLE `{$create_table}` ADD `wr_11` varchar(255) NOT NULL DEFAULT '' AFTER `wr_10` ", false);
    sql_query(" ALTER TABLE `{$create_table}` ADD `wr_12` varchar(255) NOT NULL DEFAULT '' AFTER `wr_11` ", false);
    sql_query(" ALTER TABLE `{$create_table}` ADD `wr_13` varchar(255) NOT NULL DEFAULT '' AFTER `wr_12` ", false);
    sql_query(" ALTER TABLE `{$create_table}` ADD `wr_14` varchar(255) NOT NULL DEFAULT '' AFTER `wr_13` ", false);
    sql_query(" ALTER TABLE `{$create_table}` ADD `wr_15` varchar(255) NOT NULL DEFAULT '' AFTER `wr_14` ", false);
    sql_query(" ALTER TABLE `{$create_table}` ADD `wr_16` varchar(255) NOT NULL DEFAULT '' AFTER `wr_15` ", false);
    sql_query(" ALTER TABLE `{$create_table}` ADD `wr_17` varchar(255) NOT NULL DEFAULT '' AFTER `wr_16` ", false);
    sql_query(" ALTER TABLE `{$create_table}` ADD `wr_18` varchar(255) NOT NULL DEFAULT '' AFTER `wr_17` ", false);
    sql_query(" ALTER TABLE `{$create_table}` ADD `wr_19` varchar(255) NOT NULL DEFAULT '' AFTER `wr_18` ", false);
    sql_query(" ALTER TABLE `{$create_table}` ADD `wr_20` varchar(255) NOT NULL DEFAULT '' AFTER `wr_19` ", false);
    sql_query(" ALTER TABLE `{$create_table}` ADD `wr_21` varchar(255) NOT NULL DEFAULT '' AFTER `wr_20` ", false);
    sql_query(" ALTER TABLE `{$create_table}` ADD `wr_22` varchar(255) NOT NULL DEFAULT '' AFTER `wr_21` ", false);
    sql_query(" ALTER TABLE `{$create_table}` ADD `wr_23` varchar(255) NOT NULL DEFAULT '' AFTER `wr_22` ", false);
    sql_query(" ALTER TABLE `{$create_table}` ADD `wr_24` varchar(255) NOT NULL DEFAULT '' AFTER `wr_23` ", false);
    sql_query(" ALTER TABLE `{$create_table}` ADD `wr_25` varchar(255) NOT NULL DEFAULT '' AFTER `wr_24` ", false);
    sql_query(" ALTER TABLE `{$create_table}` ADD `wr_26` varchar(255) NOT NULL DEFAULT '' AFTER `wr_25` ", false);
    sql_query(" ALTER TABLE `{$create_table}` ADD `wr_27` varchar(255) NOT NULL DEFAULT '' AFTER `wr_26` ", false);
    sql_query(" ALTER TABLE `{$create_table}` ADD `wr_28` varchar(255) NOT NULL DEFAULT '' AFTER `wr_27` ", false);
    sql_query(" ALTER TABLE `{$create_table}` ADD `wr_29` varchar(255) NOT NULL DEFAULT '' AFTER `wr_28` ", false);
    sql_query(" ALTER TABLE `{$create_table}` ADD `wr_30` varchar(255) NOT NULL DEFAULT '' AFTER `wr_29` ", false);
// ~여기까지

 

} else if ($w == 'u') {

// ■ 기존 게시판 여분필드 추가할 필드 지정 (예시: wr_11 ~ wr_30 추가할 경우)
// 여분필드 추가가 필요할 경우 관리자>게시판관리에서 '수정'->'확인'만 하면 원하는 여분필드 만큼 DB table에 필드가 추가 됨.(임시 사용후 주석 처리할 것!)
// 여기부터~
    sql_query(" ALTER TABLE `{$g5['write_prefix']}{$bo_table}` ADD `wr_11` varchar(255) NOT NULL DEFAULT '' AFTER `wr_10` ", false);
    sql_query(" ALTER TABLE `{$g5['write_prefix']}{$bo_table}` ADD `wr_12` varchar(255) NOT NULL DEFAULT '' AFTER `wr_11` ", false);
    sql_query(" ALTER TABLE `{$g5['write_prefix']}{$bo_table}` ADD `wr_13` varchar(255) NOT NULL DEFAULT '' AFTER `wr_12` ", false);
    sql_query(" ALTER TABLE `{$g5['write_prefix']}{$bo_table}` ADD `wr_14` varchar(255) NOT NULL DEFAULT '' AFTER `wr_13` ", false);
    sql_query(" ALTER TABLE `{$g5['write_prefix']}{$bo_table}` ADD `wr_15` varchar(255) NOT NULL DEFAULT '' AFTER `wr_14` ", false);
    sql_query(" ALTER TABLE `{$g5['write_prefix']}{$bo_table}` ADD `wr_16` varchar(255) NOT NULL DEFAULT '' AFTER `wr_15` ", false);
    sql_query(" ALTER TABLE `{$g5['write_prefix']}{$bo_table}` ADD `wr_17` varchar(255) NOT NULL DEFAULT '' AFTER `wr_16` ", false);
    sql_query(" ALTER TABLE `{$g5['write_prefix']}{$bo_table}` ADD `wr_18` varchar(255) NOT NULL DEFAULT '' AFTER `wr_17` ", false);
    sql_query(" ALTER TABLE `{$g5['write_prefix']}{$bo_table}` ADD `wr_19` varchar(255) NOT NULL DEFAULT '' AFTER `wr_18` ", false);
    sql_query(" ALTER TABLE `{$g5['write_prefix']}{$bo_table}` ADD `wr_20` varchar(255) NOT NULL DEFAULT '' AFTER `wr_19` ", false);
    sql_query(" ALTER TABLE `{$g5['write_prefix']}{$bo_table}` ADD `wr_21` varchar(255) NOT NULL DEFAULT '' AFTER `wr_20` ", false);
    sql_query(" ALTER TABLE `{$g5['write_prefix']}{$bo_table}` ADD `wr_22` varchar(255) NOT NULL DEFAULT '' AFTER `wr_21` ", false);
    sql_query(" ALTER TABLE `{$g5['write_prefix']}{$bo_table}` ADD `wr_23` varchar(255) NOT NULL DEFAULT '' AFTER `wr_22` ", false);
    sql_query(" ALTER TABLE `{$g5['write_prefix']}{$bo_table}` ADD `wr_24` varchar(255) NOT NULL DEFAULT '' AFTER `wr_23` ", false);
    sql_query(" ALTER TABLE `{$g5['write_prefix']}{$bo_table}` ADD `wr_25` varchar(255) NOT NULL DEFAULT '' AFTER `wr_24` ", false);
    sql_query(" ALTER TABLE `{$g5['write_prefix']}{$bo_table}` ADD `wr_26` varchar(255) NOT NULL DEFAULT '' AFTER `wr_25` ", false);
    sql_query(" ALTER TABLE `{$g5['write_prefix']}{$bo_table}` ADD `wr_27` varchar(255) NOT NULL DEFAULT '' AFTER `wr_26` ", false);
    sql_query(" ALTER TABLE `{$g5['write_prefix']}{$bo_table}` ADD `wr_28` varchar(255) NOT NULL DEFAULT '' AFTER `wr_27` ", false);
    sql_query(" ALTER TABLE `{$g5['write_prefix']}{$bo_table}` ADD `wr_29` varchar(255) NOT NULL DEFAULT '' AFTER `wr_28` ", false);
    sql_query(" ALTER TABLE `{$g5['write_prefix']}{$bo_table}` ADD `wr_30` varchar(255) NOT NULL DEFAULT '' AFTER `wr_29` ", false);
// ~여기까지

    // 게시판의 글 수
    $sql = " select count(*) as cnt from {$g5['write_prefix']}{$bo_table} where wr_is_comment = 0 ";
    $row = sql_fetch($sql);
    $bo_count_write = $row['cnt'];

// 이하 생략
//     :
//     :

?>

[/code]

 

여분필드가 추가 되었기 때문에 wr_11 ~ wr_30까지 처리하는 방법은 많은 분들이 자료를 올려 주셨기 때문에 생략 하겠습니다. ^^

 

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 17개

5년 전
답변 너무 감사합니다~~
위처럼 했는데도 저장이 안되고 다 날라가네요 ㅠㅠ
도아주세요 ㅠㅠ
저대로 따라햇다가 게시판글은 써지는데 전부 없어지네요 ㅠㅠㅠ
혹시 작은 오타가 있지 않을까요?
성공했습니다! 감사합니다!
정말 감사합니다! 유용하게 쓰도록 하겠습니다
3년 전
저도 성공 했어요!! 감사합니다.
좋아요

게시글 목록

번호 제목
24318
24317
24315
24309
24294
24293
24277
24262
24260
24253
24251
24236
24233
24228
24226
24221
24214
24203
24201
24199
24196
24195
24194
24192
24191
24187
24185
24183
24172
24168