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

그누보드 모든 게시판에 특정 필드를 일괄 추가하기 (2017-11-14 12:27 수정)

그누보드 게시판에 특정 필드를 한번에 추가할때 사용하기 위해 만들었습니다.
그누보드5 폴더에  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);
?>


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

댓글 작성

댓글을 작성하시려면 로그인이 필요합니다.

로그인하기

댓글 2개

게시판 목록

그누보드5 팁자료실

글쓰기