제가 사용하는 게시판 여분필드 추가하는 단순방법입니다. > 그누보드5 팁자료실

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!

그누보드5 팁자료실

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

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

본문

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

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

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

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

 


<?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'];
// 이하 생략
//     :
//     :
?>

 

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

 

추천
6

댓글 17개

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에 필드가 추가 됨.(임시 사용후 주석 처리할 것!)
// 여기부터~

반드시 주석처리 하시구요.
전체 2,431 |RSS
그누보드5 팁자료실 내용 검색

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT