상품등록할때 상품번호 커스터마이징해봤는데 질문있습니다!

상품등록할때 상품번호 커스터마이징해봤는데 질문있습니다!

QA

상품등록할때 상품번호 커스터마이징해봤는데 질문있습니다!

본문


    do {
        //4자리 난수 생성
        $code = strtoupper(md5(rand(1000,9999).date("Y-m-d H:i:s")));
        $sn = $code[rand(0,1)].$code[rand(2,3)].$code[rand(4,5)].$code[rand(6,7)];
        $cate = substr($ca_id3,2,4);
        $it_id =  $cate.$sn;
        // it_id가 겹쳤다면 다시돌기
        $sql = "select it_id from {$g5['g5_shop_item_table']} it_id = '$it_id'";
        $it_id_already = sql_fetch($sql);
    }while($it_id_already['it_id'] == '');

itemformupdate.php 에서 상품등록할때

it_id가 난수로 생성하는것이 아닌 카테고리+난수 이렇게 생성하려고 합니다

난수가 혹시나 겹칠수 있으니 do while문을 활용해서 값이있는지 없는지 확

인할려고하는데 파일이 뻗어버리네요. 소스상에는 문제가 없는지 확인해주실수있나요?

아니면 다른 좋은방법있을까요??

이 질문에 댓글 쓰기 :

답변 1

혹시 it_id 가 중복되는 경우가 있던가요? 저 같으면 그냥 쓰다가 문제가 발생하면 수정하겠습니다.

위 코드는 일단 쿼리문에 오류가 있습니다. while문도 이상합니다. 중복된 값이 없으면 무한 반복?

echo로 한번 찍어보세요 결과가 어떻게 나오고 몇번을 반복하는지.

앗 쿼리문은 where 빼고 올렸네요...
제가 do while을 잘못이해하고 있었나봐요!
 }while($it_id_already['it_id'] == '');
이부분을  }while($it_id_already['it_id'] != ''); 으로 바꿔주면 되는거였어요!! 감사합니다

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

회원로그인

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