[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,641건 26 페이지
  • RSS
기술자료 목록
2141
MSSQL   11715  2017-12-03 07:14  
2140
Linux   19794  2017-12-03 06:55 ~ 2017-12-07 07:03  
2139
Linux   17666  2017-12-03 06:11  
2138
SQL   22294  2017-12-01 14:40 ~ 2017-12-01 23:22  
2137
일반   11694  2017-12-01 00:36  
2136
그누보드   11912  2017-11-30 06:43 ~ 2022-02-17 08:32  
2135
XML   9798  2017-11-30 03:37 ~ 2017-11-30 04:14  
2134
XML   27989  2017-11-28 18:00 ~ 2020-02-17 04:02  
2133
MSSQL   13812  2017-11-28 14:08  
2132
MySQL   11461  2017-11-27 16:57  
2131
MSSQL   9478  2017-11-26 05:27  
2130
MySQL   9746  2017-11-26 05:20  
2129
MSSQL   15912  2017-11-26 05:08  
2128
MySQL   25424  2017-11-26 04:11 ~ 2018-02-03 00:25  
2127
MySQL   28020  2017-11-26 02:14  
2126
Linux   29939  2017-11-23 16:32 ~ 2018-01-10 23:07  
2125
MySQL   14786  2017-11-22 04:15 ~ 2018-02-09 10:09  
2124
Linux   12973  2017-11-21 02:59  
2123
Linux   24268  2017-11-21 02:57 ~ 2017-11-21 03:00  
2122
JavaScript   26646  2017-11-19 18:06  

검색

해피정닷컴 정보

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

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