[G5] 모든 게시판에 특정 필드를 추가 / 변경하기 > 기술자료 | 해피정닷컴

[G5] 모든 게시판에 특정 필드를 추가 / 변경하기 > 기술자료

본문 바로가기

사이트 내 전체검색

[G5] 모든 게시판에 특정 필드를 추가 / 변경하기 > 기술자료

그누보드 [G5] 모든 게시판에 특정 필드를 추가 / 변경하기

페이지 정보


본문

2018-03-07  DB_table_field_change.php 오류수정


그누보드 게시판에 특정 필드를 한번에 추가할때 사용하기 위해 만들었습니다.
그누보드5 폴더에  DB_table_filed_add.php 라는 파일을 생성후 브라우저로 실행하면 추가됩니다.

1. 필드 일괄 추가  DB_table_filed_add.php
<?php
include_once "_common.php"; 

$dbconn = mysqli_connect(G5_MYSQL_HOST,G5_MYSQL_USER,G5_MYSQL_PASSWORD,G5_MYSQL_DB) ;

if (!$dbconn) {
    echo "Error: Unable to connect to MySQL." . PHP_EOL;
    echo "Debugging errno: " . mysqli_connect_errno() . PHP_EOL;
    echo "Debugging error: " . mysqli_connect_error() . PHP_EOL;
    exit;
}

$sql = "select * from ".$g5['board_table']." order by bo_table asc "; 
$result = mysqli_query($dbconn,$sql);

echo "<meta http-equiv='Content-Type' content='text/html; charset=utf-8'>";

// 추가할 필드명
$hp_add_field = "";

// 추가할 필드명 속성
$hp_add_field_type = " varchar(255) NOT NULL DEFAULT '' ";

// 특정 필드 뒤에 추가하기
// $hp_add_field_after = " AFTER wr_10 ";

if (!$hp_add_field) {
    echo '추가할 필드이름을 넣으세요';
    exit;
}

$id_num = "0";
while($data = mysqli_fetch_array($result)) { 
    
    echo $data["bo_table"] ."<br>";
    
    $field_query = "SHOW COLUMNS FROM ".$g5['write_prefix'] . $data["bo_table"]." WHERE Field = '".$hp_add_field."';";
    $field_row = sql_fetch( $field_query );
    if(!$field_row['Field']) {
        sql_query(" ALTER TABLE ".$g5['write_prefix'] . $data["bo_table"]." ADD ".$hp_add_field . $hp_add_field_type . $hp_add_field_after." ", true);
    }
}

echo mysqli_error($dbconn);
// close connection
mysqli_close($dbconn);
?>


2. 필드 일괄 변경  DB_table_field_change.php
<?php
include_once "_common.php"; 

$dbconn = mysqli_connect(G5_MYSQL_HOST,G5_MYSQL_USER,G5_MYSQL_PASSWORD,G5_MYSQL_DB) ;

if (!$dbconn) {
    echo "Error: Unable to connect to MySQL." . PHP_EOL;
    echo "Debugging errno: " . mysqli_connect_errno() . PHP_EOL;
    echo "Debugging error: " . mysqli_connect_error() . PHP_EOL;
    exit;
}
//@mysqli_query("set names utf8");   // 한글문제 생기면 주석 해제

$sql = "select * from ".$g5['board_table']." order by bo_table asc "; 
$result = mysqli_query($dbconn,$sql);

// 변경할 필드명
$hp_change_field = "";

// 변경할 필드명 속성
$hp_change_field_type = " varchar(20) ";

if (!$hp_change_field) {
    echo '변경할 필드이름을 넣으세요';
    exit;
}

$id_num = "0";
while($data = mysqli_fetch_array($result)) { 
    
    echo $data["bo_table"] ."<br>";
    
    // 필드 추가
    $field_query = "SHOW COLUMNS FROM ".$g5['write_prefix'] . $data["bo_table"]." WHERE Field = '".$hp_change_field."';";
    $field_row = sql_fetch( $field_query );
    if(!$field_row['Field']) {
        sql_query(" ALTER TABLE ".$g5['write_prefix'] . $data["bo_table"]." modify ".$hp_change_field . $hp_change_field_type ." ", true);
    }
}

echo mysqli_error($dbconn);
// close connection
mysqli_close($dbconn);
?>


참고자료
http://majesty76.tistory.com/27
https://stackoverflow.com/questions/17541312/alter-table-add-multiple-columns-after-column1
http://luckys.tistory.com/73

댓글목록

등록된 댓글이 없습니다.


Total 2,634건 27 페이지
  • RSS
기술자료 목록
2114
그누보드   11457  2017-11-17 12:47 ~ 2017-11-20 05:00  
2113
WindowsServer   9738  2017-11-17 07:40  
2112
그누보드   10736  2017-11-16 01:42 ~ 2018-07-20 15:03  
2111
그누보드   9876  2017-11-14 18:45  
열람
그누보드   10299  2017-11-13 12:42 ~ 2018-03-07 04:47  
2109
PHP   12143  2017-11-13 01:52 ~ 2018-10-02 21:26  
2108
그누보드   12367  2017-11-11 22:39 ~ 2018-04-09 23:57  
2107
Adobe   10784  2017-11-10 23:09 ~ 2021-03-08 12:28  
2106
일반   22485  2017-11-10 17:55 ~ 2017-11-10 23:15  
2105
Search   11094  2017-11-05 19:18 ~ 2017-11-05 20:02  
2104
SQL   13715  2017-11-03 10:51  
2103
MSSQL   15736  2017-11-03 10:45 ~ 2017-11-03 12:37  
2102
MySQL   10719  2017-11-02 17:41 ~ 2017-11-02 17:42  
2101
PHP   12601  2017-11-01 16:34 ~ 2017-11-01 16:37  
2100
전자결제   13679  2017-11-01 16:29 ~ 2017-11-02 16:23  
2099
Linux   16394  2017-10-31 02:34  
2098
Linux   13797  2017-10-30 23:45  
2097
PHP   13002  2017-10-30 18:45  
2096
그누보드   9120  2017-10-30 18:22 ~ 2022-04-21 02:46  
2095
MySQL   13894  2017-10-30 10:17 ~ 2017-10-30 14:51  

검색

해피정닷컴 정보

회사소개 회사연혁 협력사 오시는길 서비스 이용약관 개인정보 처리방침

회사명: 해피정닷컴   대표: 정창용   전화: 070-7600-3500   팩스: 042-670-8272
주소: (34368) 대전시 대덕구 대화로 160 대전산업용재유통단지 1동 222호
개인정보보호책임자: 정창용   사업자번호: 119-05-36414
통신판매업신고: 제2024-대전대덕-0405호 [사업자등록확인]  
Copyright 2001~2024 해피정닷컴. All Rights Reserved.