임의의 확장필드/여유필드의 레코드값을 나누거나 합치기 > 그누4 팁자료실

매출이 오르면 내리는 수수료! 지금 수수료센터에서 전자결제(PG)수수료 비교견적 신청해 보세요!

그누4 팁자료실

그누보드4와 관련된 팁을 여러분들과 함께 공유하세요.
나누면 즐거움이 커집니다.

임의의 확장필드/여유필드의 레코드값을 나누거나 합치기 정보

임의의 확장필드/여유필드의 레코드값을 나누거나 합치기

본문

스킨작업을 하시는 분들중에는 공감할수 있는 부분인거 같아서 팁으로 올립니다.
그리고 이 팁은 "꿈꾸는비행기(schuberto)"님께서 도움을 주신겁니다.

[용어참고]
- 여유필드 : wr_1 ~ wr_10 까지의 필드
- 확장필드 : 필드수를 늘리기 위해 여유필드를 다시 쪼갠 필드들.

-------------------------------------------------------------------

구인구직게시판들과 같이 기본적인 여유필드의 갯수로써도 모자라서
다시 확장필드를 만들어서 사용하는 스킨들이 많습니다.

그런데 시간이 지나면서 그누보드프로그램도 업데이트되고,
기존의 스킨을 재수정하다보면, 필드값을 추가하거나 또는 삭제&병합해야하는
경우가 있을수가 있습니다.

이때 사용하면 좋은 팁으로써 특정 확장필드 또는 여유필드를
한곳에 넣거나 또는 분리해줄수 있는 팁입니다.


----------------------------------------------------------------------
1. 한개의 테이블(게시판)내에서 확장필드값을 여러개의 여유필드로 분리입력
----------------------------------------------------------------------
예문) wr_9 (ext9_01, ext9_02, ext9_03) 에 들어있는 3개의 확장필드값을
        wr_6, wr_7, wr_8 여유필드에 나눠서 복사 해넣기


<?
// db연결 접속자

$host = 'localhost'; //호스트
$user = 'db명';
$password = '패스워드';
$db = '계정명';

$con = mysql_connect($host, $user ,$password);
mysql_select_db($db,$con);

// 필드 복사하기

$sql = " select wr_id,wr_9 from '테이블명' order by wr_id asc ";
$result = mysql_query($sql);
for($i=0;$i<$row=mysql_fetch_array($result);$i++) {
    $temp = explode("|",$row[wr_9]);
    $sql = " update 테이블명 set wr_6 = '$temp[0]', wr_7 = '$temp[1]', wr_8 = '$temp[2]' where wr_id = '$row[wr_id]' ";
    mysql_query($sql);
}

?>


위코드를 임의의 파일로 만들어서 실행하면 wr_9 여유필드에 '|' 구분자로 들어있는
3개의 확장필드값들을 차례대로 wr_6, wr_7, wr_8 에 넣어주게 됩니다.

그런다음 wr_9 에 들어있는 기존의 레코드값들을 일괄삭제하려면...
mysql> update '게시판명' set wr_9 = '';
하면 됩니다.




----------------------------------------------------------------------
2. 여러개의 여유필드값을 하나의 여유필드값속에 집어넣기
----------------------------------------------------------------------
예문) wr_6, wr_7, wr_8 에 들어있는 여유필드값을
        wr_9 (ext9_01, ext9_02, ext9_03) 에 집어넣기


<?
mysql 접속자부분 위와 동일하니 생략

$sql = " select wr_id,wr_6,wr_7,wr_8 from 테이블명 order by wr_id asc ";
$result = mysql_query($sql);
for($i=0;$i<$row=mysql_fetch_array($result);$i++) {
    $temp = $row[wr_6]."|".$row[wr_7]."|".$row[wr_8];
    $sql = " update 테이블명 set wr_9 = '$temp' where wr_id = '$row[wr_id]' ";
    mysql_query($sql);
}
?>


이상.


p.s;
해당스킨파일에서 변수명만 추가로 조절하시면 마무리 됩니다.
나름대로 쉽게 적으려고 했는데..잘 모르겠군요.
질답란에 올렸던 아래글을 읽어보시면 좀더 이해되리라 봅니다.



[관련링크]
http://www.sir.co.kr/bbs/board.php?bo_table=g4_qa&wr_id=54019
추천
0

댓글 3개

지금은 이해가 안되지만 차근차근 분석해 보아야 하겠군.
우선 wr_11을 하나 만들고 다시 2개로 쪼갠 다음에, 입력해 보고...
그러다 보면 이해가 되려나~~~
전체 3 |RSS
그누4 팁자료실 내용 검색
  • 개별 목록 구성 번호 제목 작성자 작성일 추천 조회
  • 게시물이 없습니다.

회원로그인

(주)에스아이알소프트 / 대표:홍석명 / (06211) 서울특별시 강남구 역삼동 707-34 한신인터밸리24 서관 1404호 / E-Mail: admin@sir.kr
사업자등록번호: 217-81-36347 / 통신판매업신고번호:2014-서울강남-02098호 / 개인정보보호책임자:김민섭(minsup@sir.kr)
© SIRSOFT