SIR

sql 구문에 $i 변수 처리 방법 문의

sql 구문에 $i 변수 처리 방법 문의

QA

sql 구문에 $i 변수 처리 방법 문의

본문

고객 클레임 사진을 각 주문번호에 업로드하는 기능을 구현중인데,

5개의 사진까지 등록할 수 있도록 하였으며,  기존 등록된 이미지는 놔두고 변경하거나 추가하려는 이미지만 넣었을때 db에 업데이트 되도록 하려고 합니다.

기존에는 새로 입력하는 값외에 기존값들이 빈값으로 업데이트되는 문제가 있어서요.

도움 부탁드립니다.

 

아래처럼 했더니 업데이트 기능이 전혀 되지 않는 상황이며,

claim_img값들은 정상적으로 넘어오고 있습니다.


<?php
 
//실제 적용된 부분
    for($i=1;$i<6;$i++){
        if($claim_img.$i) {
            $sql = " UPDATE {$g5['g5_shop_order_table']}
                        set claim_img.$i = '$claim_img.$i'
                     where od_id = '$od_id' ";
        }
    }
//
 
?>

더 좋은 답변을 위해 필요한 추가정보를 요청해 보세요.

추가정보요청

이 질문에 댓글 쓰기 :

답변 5

$claim_img.$i

=> 이렇게 하면 $climg_img 와 $i 변수를 합하게 됩니다.

${'claim_img'.$i}

=> 이렇게 해야 $claim_img1, $claim_img2

=> 이라는 변수값이 적용됩니다.


<?php 
//실제 적용된 부분
    for($i=1;$i<6;$i++){
        if($claim_img.$i) {
            $sql = " UPDATE {$g5['g5_shop_order_table']}
                        set claim_img{$i} = '{$claim_img}{$i}'
                     where od_id = '{$od_id}' ";
            sql_query($sql);
        }
    }
// 
?>

수정이 된것만 구분해서 처리하시면 됩니다.

$_FILES 로 넘어오는 값을 if 로 처리하시면 될것 같습니다.


for($i=1;$i<6;$i++){
    if($claim_img.$i){
        $subsql[] = " claim_img".$i." = '".$claim_img.$i."'";
    }                                     
}
if(sizeof($subsql)>0){
    $sql = " UPDATE {$g5['g5_shop_order_table']}
                    set ".implode(",",$subsql)." where od_id = '$od_id' ";
}

여러분이 도움을 주시려고 하셨으나 다 적용이 안되어서,

다소 무식하지만,

개별적으로 if문과 sql구문을 넣어줘서 처리하는식으로 일단 해결은 했습니다.

소스가 이리길어져야하나 싶긴하네요...

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

회원로그인

진행중 포인트경매

  1. 참여0 회 시작21.01.16 18:00 종료21.01.23 18:00
  2. 참여2 회 시작21.01.16 12:00 종료21.01.23 12:00
  3. 참여30 회 시작21.01.15 12:00 종료21.01.22 12:00

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

© SIRSOFT