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

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

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

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

사용방법:
    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개

전에 일일히 db 들어가서 추가를 했는데 좋네요...감사합니다
잘 사용하겠습니다...감사합니다
좋은 정보 ~~ 감사합니다
한번 시도해봐야겠네요. 좋은정보 감사합니다.
좋은 팁 고맙습니다.
추가는 되었는데 11번부터 필드 이름을 넣고 확인을 누르면 다 날라가는데 왜그럴까요?
bbs/write.php, write_update.php에서

for ($i=1; $i<=10; $i++) {

10을 추가한 필드 갯수(예, 30개까지 추가할 경우 30으로 변경)로 변경 하셨나요?

그리고

write_update.php에서

$sql = " insert into $write_table
:
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',
wr_21 = '$wr_21',
wr_22 = '$wr_22',
wr_23 = '$wr_23',
wr_24 = '$wr_24',
wr_25 = '$wr_25',
wr_26 = '$wr_26',
wr_27 = '$wr_27',
wr_28 = '$wr_28',
wr_29 = '$wr_29',
wr_30 = '$wr_30' ";


$sql = " update {$write_table}
:
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}',
wr_21 = '{$wr_21}',
wr_22 = '{$wr_22}',
wr_23 = '{$wr_23}',
wr_24 = '{$wr_24}',
wr_25 = '{$wr_25}',
wr_26 = '{$wr_26}',
wr_27 = '{$wr_27}',
wr_28 = '{$wr_28}',
wr_29 = '{$wr_29}',
wr_30= '{$wr_30}'

도 추가해 주셔야 정상적으로 필드에 값이 저장이 됩니다.

} else if ($w == 'u') {
// ■ 기존 게시판 여분필드 추가할 필드 지정 (예시: wr_11 ~ wr_30 추가할 경우)
// 여분필드 추가가 필요할 경우 관리자>게시판관리에서 '수정'->'확인'만 하면 원하는 여분필드 만큼 DB table에 필드가 추가 됨.(임시 사용후 주석 처리할 것!)
// 여기부터~

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

게시판 목록

그누보드5 팁자료실

글쓰기
🐛 버그신고