배열값에서 일치하는 문자 찾아 지우기

배열값에서 일치하는 문자 찾아 지우기

QA

배열값에서 일치하는 문자 찾아 지우기

본문

회원필드 mb_1 에 값이
red/blue/white/orange/black........등등등이 들어있다고 가정하에
 
blue값만 지울려고 합니다.
정확히 말하면 업데이트시 blue/ 이렇게 들어가니
지울때도 blue/ 이렇게 지워줘야할것 같습니다.
 
어떤 쿼리문을 써야하는지요?
 

이 질문에 댓글 쓰기 :

답변 5

$color = explode('/', $mb_1); 
for($i; $i < count($color); i++){ 
if($color[$i] == "blue"){ 
$color.= ""; 
}else{
$color.= $color[$i]."/"; 
}//if
}//for 
sql_query("update $g4[member_table] set mb_1 = '$color' where mb_id = '$member[mb_id]' "); 

이렇게 해야할듯한데요..?




set mb_1 = replace(mb_1, '$color', '')

//당주의 필드에서 강퇴자 아이디 삭제
$dang = explode('/', $member[mb_dangwon]); 
for($i; $i < count($dang); $i++){ 
if($dang[$i] == $write[mb_id]){
$dang.= "";
}else{
$dang.= $dang[$i]."/";
}//if
}//for
sql_query("update $g4[member_table] set mb_dangwon = replace(mb_dangwon, '{$dang}', '') where mb_id = '$member[mb_id]' ");

무반응인데요 ;;;;;;;;;

$color = explode(mb_1,/);

print_r($color);

출력하면

$color[0] = "red";
$color[1] = "blue";

이렇게 나오겠죠?

for($i; $i < count($color); i++){
if($color[$i] = "blue"){
$color[$i] = "";
}
}

이런식으로 해결 하고 다시 implode로 합치면 안될까요?

$color = explode('/', $mb_1);
for($i; $i < count($color); i++){
if($color[$i] == "blue/"){
$color[$i] = "";
$colorfix.= $color[$i]."/";
}
}//for
sql_query("update $g4[member_table] set mb_1 = '$colorfix' where mb_id = '$member[mb_id]' ");

이건 어떨까요?

$dang= explode('/', $member[mb_dangwon]);
for($i=0; $i < count($dang); $i++){
if($dang[$i] == $write[mb_id]){
$dang[$i]="";
}else{
$dang[$i]=$dang[$i]."/";
}
$dangjj.=$dang[$i];
}//for
$dangjjf = explode('//', $dangjj);
$dangwon = implode('/', $dangjjf);
sql_query("update $g4[member_table] set mb_dangwon = '$dangwon' where mb_id = '$member[mb_id]' ");
 
하루 꼬박 테스트 하면서 해결햇네요 ㅡ,.ㅡ;;;;;;;
답변을 작성하시기 전에 로그인 해주세요.
전체 126,624
QA 내용 검색

회원로그인

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