제가 사용하는 게시판 여분필드 추가하는 단순방법입니다. 정보
제가 사용하는 게시판 여분필드 추가하는 단순방법입니다.본문
제가 사용하는 게시판 여분필드 추가하는 단순한 방법입니다.
혹시 이 방법에 대한 자료가 올라와 있는지 모르지만 간단하게 여분필드를 원하는 만큼 추가 할 수 있습니다.
사용방법:
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
6
댓글 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에 필드가 추가 됨.(임시 사용후 주석 처리할 것!)
// 여기부터~
반드시 주석처리 하시구요.
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에 필드가 추가 됨.(임시 사용후 주석 처리할 것!)
// 여기부터~
반드시 주석처리 하시구요.
답변 너무 감사합니다~~
위처럼 했는데도 저장이 안되고 다 날라가네요 ㅠㅠ
도아주세요 ㅠㅠ
위처럼 했는데도 저장이 안되고 다 날라가네요 ㅠㅠ
도아주세요 ㅠㅠ
저대로 따라햇다가 게시판글은 써지는데 전부 없어지네요 ㅠㅠㅠ
혹시 작은 오타가 있지 않을까요?
성공했습니다! 감사합니다!
정말 감사합니다! 유용하게 쓰도록 하겠습니다
저도 성공 했어요!! 감사합니다.
좋아요