여분필드 일괄업데이트시 공란문제 > 그누4 질문답변

그누4 질문답변

그누보드4 관련 질문은 QA 로 이전됩니다. QA 그누보드4 바로가기
기존 게시물은 열람만 가능합니다.

여분필드 일괄업데이트시 공란문제 정보

여분필드 일괄업데이트시 공란문제

본문

안녕하세여...고수님들...여분필드를 쪼갰습니다...

업데이트를 시작하면, 정상적으로 업데이트가 됩니다만...

쪼갠필드값에 공백이 있다면, 공백으로 그대로 업데이트 하게 하고싶습니다.


기본셋팅

wr_10 = $mm01|$mm02|$mm03|$mm04|$mm05|$mm06|$mm07 ~~~~|$mm99|$mm100  ~~~  이렇게 되어있고,

게시물이 저장될때, 입력사항에 따라, 쪼갠값들이 다양하게 입력되고 있습니다.

여기서 문제는,

1. 101번 게시물
wr_10 = aaaa|bbbb||dddd||ffffff|ggggg  ~~~  이렇게 쭉 들어있구요..

    102번 게시물
wr_10 = ||cccc||eeee|fffff|gggg ~~  이렇게 쭉 들어있구요....

이럴때....102번 게시물은 공란이 있는데도 불구하고, 공란으로 안들어가고...
공란자리에 101번 쪼갠값이 들어가는데요...


일괄적으로 어떤 기준점을 잡아서 업데이트 할때....
저렇게 공란자리에는 공란으로 들어가야 하는데, 바로 앞 게시물 또는 다른 게시물의 값이 그자리에 들어갑니다..

업데이트는 잘되거든여.....공란자리에 공란이 들어갔으면 하는데, 잘안되네요...


update.php 파일입니다.

  //테이블에서 wr_1 을 기준으로 업데이트
  $sql = " select * from 테이블명 where wr_1 = '$day2' ";
  $result = sql_query($sql);

  for ($i=0; $row = sql_fetch_array($result); $i++)
  {

$m1_opth = explode("|",$row[wr_10]);
$mm01 = $m1_opth[0];
$mm02 = $m1_opth[1];
          |
          |  ((이하생략))
          |
$mm99 = $m1_opth[98];
$mm100 = $m1_opth[99];

$opt = ("$mm01|$mm02|$mm03|  ~~~~~~ |$mm99|$mm100");

sql_query(" update 테이블명
          set  ((이하생략))
                wr_10      = '$opt',           
                wr_last    = '$g4[time_ymdhis]'
where wr_id = '$row[wr_id]' ");
}

댓글 전체

$wr_10이게 아니라 $row['wr_10']
(소스가 잘못된건지 아니면 질문을 적으시면서 오타가 난건지 모르겠지만...)

저도 스킨 리스트파일 수정을 할때 어떤 변수에 위에 게시물의 값이 들어가는 경우가 있는데
저같은 경우는 unset()을 사용합니다. for문 마지막에 unset()로 변수를 삭제합니다.

sql_query(" update 테이블명
          set  ((이하생략))
                wr_10      = '$opt',         
                wr_last    = '$g4[time_ymdhis]'
where wr_id = '$row[wr_id]' ");

unset($row['wr_10']);
//또는 아래와 같이
unset($opt);
}

--------
잘 될지 모르겠지만 답변 적어봅니다.





--------
그리고 이건 다른거지만

$opt = ("$mm01|$mm02|$mm03|  ~~~~~~ |$mm99|$mm100"); 이런식으로 배열을 합치는 것 보다
implode()를 사용하는게 좋습니다.


$m1_opth = explode("|",$row['wr_10']); //배열로 만들어주고
//변경할값이 있으면 바로 값을 변경 해주고
$m1_opth[0]=값;
$m1_opth[1]=값;
          |
          |  ((이하생략))
          |
$m1_opth[98]=값;
$m1_opth[99]=값;

$row['wr_10']=implode('|',$m1_opth);// |를 기준으로 합쳐주고

이렇게 하는게 간결하고 좋습니다.
intel님 감사합니다...안된다고 댓글달았다가....
위치를 잘못해서....안되었던 거였는데...에궁......지금은 너무나도 잘됩니다...감사합니다..
안된다고 했던 댓글은 지웠습니다...헤헤
전체 66,554 |RSS
그누4 질문답변 내용 검색

회원로그인

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