그누보드 [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
그누보드 게시판에 특정 필드를 한번에 추가할때 사용하기 위해 만들었습니다.
그누보드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
댓글목록
등록된 댓글이 없습니다.