sql구문에서 '아닌것' 질문입니다.

sql구문에서 '아닌것' 질문입니다.

QA

sql구문에서 '아닌것' 질문입니다.

본문

$sql = " update {$g5['board_new_table']} 

set addarea = '기간만료', mb_id = '".$list[$i]['name'].",기간만료' 

where 

ch_date < '".G5_TIME_YMD."'  and addarea != '기간만료' ";


이렇게 하니까 적용은 됩니다.

근데 $list[$i]['name'] 이부분에 아이디는 남아 있어야 하거든요,,


예) 홍길동 작업중 에서

홍길동 기간만료


이렇게 뒤에만 바뀌어야 하거든요..


가능한가요?ㅠ.ㅠ.ㅠ.ㅠ.ㅠ.ㅠㅠ.

이 질문에 댓글 쓰기 :

답변 2

mb_id = mb_id || '기간만료'  또는


mb_id = concat(mb_id,'기간만료')

// 언급하신 조건 ---------------


sql = " update {$g5['board_new_table']} 

set addarea = '기간만료', mb_id = '".$list[$i]['name'].",기간만료' 

where 

ch_date < '".G5_TIME_YMD."'  and addarea != '기간만료' "; 


이렇게 하니까 적용은 됩니다.

근데 $list[$i]['name'] 이부분에 아이디는 남아 있어야 하거든요,,


예) 홍길동 작업중 에서

홍길동 기간만료


이렇게 뒤에만 바뀌어야 하거든요..

이게 작업중만 있는게 아니라서요,,,,, 승인대기, 승인완료, 승인거부, 작업완료 이렇게 4개가 더있습니다..  

//------------------------------


위 내용에서 보면, $list[$i]['name'] 에 아이디는 남아야 한다

라는 내용과

쿼리의 

mb_id = '".$list[$i]['name'].",기간만료'

의 내용이 서로 안맞는거 같습니다. 

// mb_id에 name과 텍스트를 넣는것과
name에 id가 들어있다는것이 좀 애매합니다.
역으로

$mb_name = $list[$i][mb_id] . "기간만료";
이런 구조가 되어야 하는거 아닌지..

----------------------위의것은 의견이고

-----아래는 처리방법 --- 질문에 있는 패턴대로
// 홍길동 작업중
// 홍길동 기간만료 
두개의 공통적인 구분자는 ' ' 공백으로 판단합니다.
<?php
$names = explode(' ',$list[$i]['name'];
$workchk = array('작업중','승인대기','승인중','반려');  //상태값배열로 확인대상

$status = "승인완료";  // 기본상태
if (in_array($names[1], $workchk))   //상태값 체크
$status = '작업중';   // 상태값 변경대상일대 변경

$newname = $names[0].' '.$status;  // 이름과 상태값 문자열 

$sql = " update {$g5['board_new_table']} 

set addarea = '기간만료', mb_id = '{$newname}' 

where 

ch_date < '".G5_TIME_YMD."'  and addarea != '기간만료' ";


와 같이 하신후 

상태값이던 원하는 문구던 원하시는구조로 처리가 가능할듯 싶네요



답변을 작성하시기 전에 로그인 해주세요.
전체 306
QA 내용 검색

회원로그인

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