[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 458건 7 페이지
  • RSS
기술자료 목록
338
그누보드   9761  2017-12-12 13:35  
337
그누보드   9168  2017-12-12 13:35  
336
그누보드   12614  2017-12-12 01:13 ~ 2022-04-19 15:18  
335
그누보드   18754  2017-12-11 11:13 ~ 2017-12-11 11:17  
334
그누보드   9107  2017-12-05 16:30 ~ 2017-12-27 18:39  
333
그누보드   11875  2017-11-30 06:43 ~ 2022-02-17 08:32  
332
그누보드   11416  2017-11-17 12:47 ~ 2017-11-20 05:00  
331
그누보드   10678  2017-11-16 01:42 ~ 2018-07-20 15:03  
330
그누보드   9849  2017-11-14 18:45  
열람
그누보드   10264  2017-11-13 12:42 ~ 2018-03-07 04:47  
328
그누보드   12335  2017-11-11 22:39 ~ 2018-04-09 23:57  
327
그누보드   9087  2017-10-30 18:22 ~ 2022-04-21 02:46  
326
그누보드   13261  2017-10-22 03:28 ~ 2022-04-15 19:50  
325
그누보드   12742  2017-10-21 09:33 ~ 2018-01-18 17:33  
324
그누보드   12657  2017-10-10 15:50  
323
그누보드   10680  2017-10-10 13:55  
322
그누보드   10424  2017-09-29 21:04 ~ 2017-09-30 00:00  
321
그누보드   14532  2017-09-28 14:22 ~ 2022-04-15 19:48  
320
그누보드   10932  2017-09-26 11:09 ~ 2018-08-17 21:12  
319
그누보드   10027  2017-09-20 12:23  

검색

해피정닷컴 정보

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

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